다음을 통해 공유


IOCTL_BTH_GET_DEVICE_INFO IOCTL(bthioctl.h)

IOCTL_BTH_GET_DEVICE_INFO 요청은 Bluetooth를 사용하도록 설정된 이전에 검색된 모든 캐시된 원격 라디오에 대한 정보를 반환합니다.

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

ASSOCIATedIrp.SystemBuffer 멤버는 BTH_DEVICE_INFO_LIST 구조체에 대한 버퍼를 가리킵니다.

입력 버퍼 길이

BTH_DEVICE_INFO_LIST 구조체의 길이

출력 버퍼

ASSOCIATedIrp.SystemBuffer 멤버는 BTH_DEVICE_INFO_LIST 구조를 포함하는 버퍼를 가리킵니다. BTH_DEVICE_INFO_LIST 구조체의 numOfDevices 멤버에는 정보가 있는 디바이스 수와 BTH_DEVICE_INFO 구조체의 배열이 포함됩니다. 각 디바이스에 대해 하나의 배열 항목입니다.

출력 버퍼 길이

전달된 출력 버퍼의 크기가 정확히 sizeof(BTH_DEVICE_INFO_LIST) 와 올바른 배수 sizeof(BTH_DEVICE_INFO)가 아닌 경우 요청은 STATUS_INVALID_BUFFER_SIZE 함께 실패합니다.

상태 블록

요청이 성공하면 STATUS_BLOCK 구조의 정보 멤버가 디바이스 배열에 대한 정보를 보유하는 버퍼의 크기(바이트)로 설정됩니다. BTH_DEVICE_INFO_LIST 구조에는 첫 번째 BTH_DEVICE_INFO 구조체에 대한 스토리지가 포함되어 있으므로 디바이스가 반환되지 않으면 정보 멤버가 첫 번째 구조체의 크기로 설정됩니다.

Status 멤버는 다음 표의 값 중 하나로 설정됩니다.

상태 값 Description
STATUS_SUCCESS IOCTL이 성공적으로 완료되었습니다.
STATUS_INVALID_PARAMETER 전달된 입력 버퍼는 NULL입니다.
STATUS_INVALID_BUFFER_SIZE 출력 버퍼의 크기가 올바로 조정되지 않았습니다.

설명

IOCTL_BTH_GET_DEVICE_INFO IOCTL은 이전에 검색된 모든 원격 라디오에 대한 정보를 제공합니다.

BTH_DEVICE_INFO_LIST 구조체의 numOfDevices 멤버는 IOCTL에서 반환되는 총 BTH_DEVICE_INFO 구조체 수를 반환합니다. 호출 드라이버가 numOfDevices 멤버의 값보다 작은 버퍼를 전달하는 경우 사용 가능한 구조체의 일부만 반환됩니다. Bluetooth 드라이버 개발자는 먼저 작은 버퍼(예 sizeof(BTH_DEVICE_INFO_LIST): )를 사용하여 IOCTL_BTH_GET_DEVICE_INFO 호출한 다음, 반환된 numOfDevices 멤버를 사용하여 후속 호출을 위해 버퍼 크기를 올바르게 조정해야 합니다.

BTH_DEVICE_INFO_LIST 구조에는 첫 번째 BTH_DEVICE_INFO 구조체에 대한 스토리지가 포함됩니다. 다음 수식을 사용하여 IOCTL_BTH_GET_DEVICE_INFO Buffer=sizeof(BTH_DEVICE_INFO_LIST)+(NumOfDevices-1)*sizeof(BTH_DEVICE_INFO)호출에 대한 올바른 버퍼 크기를 계산합니다.

요구 사항

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

추가 정보

BTH_DEVICE_INFO

BTH_DEVICE_INFO_LIST