次の方法で共有


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 構造体の配列が含まれます。デバイスごとに 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

関連項目

BTH_DEVICE_INFO

BTH_DEVICE_INFO_LIST