次の方法で共有


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)を正確にsizeof(BTH_DEVICE_INFO_LIST)加算していない場合、要求は 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 ドライバーの開発者は、最初に小さなバッファーを使用して IOCTL_BTH_GET_DEVICE_INFO を呼び出し (例: sizeof(BTH_DEVICE_INFO_LIST))、返された 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。
Header bthioctl.h (Bthioctl.h を含む)
IRQL <= PASSIVE_LEVEL

こちらもご覧ください

BTH_DEVICE_INFO

BTH_DEVICE_INFO_LIST