IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH IOCTL(bthioctl.h)
IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH 요청은 SDP 서비스와 특성 검색을 단일 작업으로 결합합니다. 이렇게 하면 호출자가 원격 디바이스에서 SDP 레코드를 직접 가져올 수 있습니다.
주 코드
입력 버퍼
AssociatedIrp.SystemBuffer 멤버에 다음이 포함됩니다. 원격 SDP 서버에 대한 연결 핸들, GUID 배열 및 검색할 특성 값의 범위를 지정하는 IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH 구조입니다.
입력 버퍼 길이
의 길이 IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH 구조체입니다.
출력 버퍼
AssociatedIrp.SystemBuffer 멤버는 BTH_SDP_STREAM_RESPONSE 구조와 원시 SDP 레코드 스트림을 포함하는 버퍼를 가리킵니다.
출력 버퍼 길이
BTH_SDP_STREAM_RESPONSE 구조체의 길이입니다.
상태 블록
요청이 성공하면 STATUS_BLOCK 구조의 Information 멤버가 SDP 응답 스트림의 크기(바이트) 또는 출력 버퍼의 크기(더 작은 값)로 설정됩니다. 그렇지 않으면 Information 멤버가 0으로 설정됩니다.
상태 멤버는 다음 표의 값 중 하나로 설정됩니다.
상태 값 | 묘사 |
---|---|
STATUS_SUCCESS | IOCTL이 성공적으로 완료되었습니다. |
STATUS_DEVICE_NOT_CONNECTED | SDP 서비스가 있는 디바이스가 연결되지 않았습니다. |
STATUS_INSUFFICIENT_RESOURCES | 메모리가 부족하여 이 작업을 완료할 수 없습니다. |
STATUS_INVALID_BUFFER_SIZE | 출력 버퍼의 크기가 잘못되었습니다. |
STATUS_INVALID_PARAMETER | 입력 버퍼의 값 중 하나가 잘못되었습니다. |
STATUS_REQUEST_NOT_ACCEPTED | SDP 서비스가 요청을 거부했습니다. |
STATUS_TOO_MANY_GUIDS_REQUESTED | SDP 서비스에서 입력 버퍼에 전달된 GUID 수를 처리할 수 없습니다. |
발언
프로필 드라이버가 SDP 레코드를 가져온 후 SDP 함수를 사용하여 구문 분석할 수 있습니다. 이러한 함수에 대한 포인터는 BTHDDI_SDP_PARSE_INTERFACE 인터페이스입니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | 버전:windows Vista 이상에서 _Supported. |
헤더 | bthioctl.h(Bthioctl.h 포함) |
IRQL | <= PASSIVE_LEVEL |