IOCTL_BTH_GET_DEVICE_INFO IOCTL(bthioctl.h)
IOCTL_BTH_GET_DEVICE_INFO 요청은 Bluetooth를 사용하도록 설정된 이전에 검색된 모든 캐시된 원격 라디오에 대한 정보를 반환합니다.
주 코드
입력 버퍼
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 |