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 構造体の配列が含まれます。デバイスごとに 1 つの配列エントリ。
出力バッファーの長さ
渡された出力バッファーのサイズが正確に sizeof(BTH_DEVICE_INFO_LIST)
に正しい sizeof(BTH_DEVICE_INFO)
の倍数を加えたものでない場合、要求はSTATUS_INVALID_BUFFER_SIZEで失敗します。
状態ブロック
要求が成功した場合、STATUS_BLOCK構造体の Information メンバーは、デバイスの配列に関する情報を保持するバッファーのサイズ (バイト単位) に設定されます。 BTH_DEVICE_INFO_LIST構造体には最初のBTH_DEVICE_INFO構造体のストレージが含まれているため、デバイスが返されない場合、Information メンバーは最初の構造体のサイズに設定されます。
Status メンバーは、次の表のいずれかの値に設定されています。
状態の値 | 形容 |
---|---|
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 |