다음을 통해 공유


IOCTL_BTH_SDP_ATTRIBUTE_SEARCH IOCTL(bthioctl.h)

IOCTL_BTH_SDP_ATTRIBUTE_SEARCH 요청은 지정된 SDP 레코드에 대한 특성을 가져옵니다.

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

AssociatedIrp.SystemBuffer 멤버에 검색할 특성의 원격 컴퓨터 범위와 다른 키 멤버를 지정하는 BTH_SDP_ATTRIBUTE_SEARCH_REQUEST 구조체입니다.

입력 버퍼 길이

의 길이입니다. BTH_SDP_ATTRIBUTE_SEARCH_REQUEST 구조체입니다.

출력 버퍼

AssociatedIrp.SystemBuffer 멤버는 가변 길이 원시 SDP 스트림 뒤에 BTH_SDP_STREAM_RESPONSE 구조체가 포함된 버퍼를 가리킵니다.

출력 버퍼 길이

BTH_SDP_STREAM_RESPONSE 구조체의 길이입니다.

상태 블록

요청이 성공하면 STATUS_BLOCK 구조체의 Information 멤버가 BTH_SDP_STREAM_RESPONSE 출력 버퍼의 크기(바이트)로 설정되거나 출력 버퍼의 크기(바이트)로 설정됩니다. 그렇지 않으면 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 서비스 및 특성 검색을 결합할 수 있습니다. IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH IOCTL. 프로필 드라이버가 Bluetooth 링크를 통해 전송되는 SDP 트래픽의 양을 줄이거나 적은 수의 MTU(메시지 전송 단위)를 사용하여 SDP 서버에서 정보를 추출해야 하는 경우 프로필 드라이버는 다음을 호출해야 합니다. 서비스 검색을 수행하도록 IOCTL을 IOCTL_BTH_SDP_SERVICE_SEARCH. 그런 다음 프로필 드라이버는 IOCTL_BTH_SDP_ATTRIBUTE_SEARCH IOCTL을 호출하여 특성 검색을 수행해야 합니다.

출력 버퍼에 반환된 BTH_SDP_STREAM_RESPONSE 구조체에는 전체 SDP 레코드의 크기, BTH_SDP_STREAM_RESPONSE 구조 뒤에 있는 원시 SDP 레코드 스트림의 크기(바이트) 및 해당 스트림의 첫 번째 바이트에 대한 정보가 포함됩니다. 가변 길이 스트림은 검색에서 반환된 SDP 레코드 특성입니다.

요구 사항

요구
지원되는 최소 클라이언트 버전:windows Vista 이상에서 _Supported.
헤더 bthioctl.h(Bthioctl.h 포함)
IRQL <= PASSIVE_LEVEL

참고 항목

BTH_SDP_ATTRIBUTE_SEARCH_REQUEST

BTH_SDP_STREAM_RESPONSE

IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH

IOCTL_BTH_SDP_SERVICE_SEARCH