WdfDeviceQueryInterfaceProperty 関数 (wdfdevice.h)

[UMDF にのみ適用]

WdfDeviceQueryInterfaceProperty メソッドは、指定されたデバイス インターフェイス プロパティを取得します。

構文

NTSTATUS WdfDeviceQueryInterfaceProperty(
  [in]  WDFDEVICE                           Device,
  [in]  PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData,
  [in]  ULONG                               BufferLength,
  [out] PVOID                               PropertyBuffer,
  [out] PULONG                              ResultLength,
  [out] PDEVPROPTYPE                        Type
);

パラメーター

[in] Device

フレームワーク デバイス オブジェクトへのハンドル。

[in] PropertyData

取得するデバイス インターフェイス プロパティを識別する WDF_DEVICE_INTERFACE_PROPERTY_DATA 構造体へのポインター。

[in] BufferLength

PropertyBuffer が指すバッファーのサイズ (バイト単位)。

[out] PropertyBuffer

要求されたデバイス インターフェイス プロパティを受け取る呼び出し元によって割り当てられたバッファーへのポインター。 BufferLength パラメーターが 0 の場合、ポインターは NULL にすることができます。

[out] ResultLength

呼び出し元が指定した場所。返される際に、 WdfDeviceQueryInterfacePropertyPropertyBuffer に格納されている情報のサイズをバイト単位で格納します。 関数の戻り値が STATUS_BUFFER_TOO_SMALL場合、この場所は必要なバッファー サイズを受け取ります。

[out] Type

PropertyBuffer が指すバッファーに格納されている WdfDeviceQueryInterfaceProperty プロパティ データの型を識別する DEVPROPTYPE 型の変数へのポインター。

戻り値

WdfDeviceQueryInterfaceProperty メソッドでエラーが発生しない場合は、STATUS_SUCCESSを返します。 その他の戻り値は次のとおりです。

リターン コード 説明
STATUS_BUFFER_TOO_SMALL
入力バッファーが小さすぎて情報を受信できません。
STATUS_INVALID_PARAMETER_2
指定されたパラメーター値が無効です。
 

メソッドは、他の NTSTATUS 値を返す場合があります。

注釈

デバイス プロパティ データを受信する前に、ドライバーは通常、必要なバッファー サイズを取得するために WdfDeviceQueryInterfaceProperty メソッドを呼び出します。 一部のプロパティでは、データ サイズは、必要なサイズが返されたときと、ドライバーが WdfDeviceQueryInterfaceProperty を再度呼び出すときの間で変更される可能性があります。 したがって、ドライバーは、戻り値の状態がSTATUS_BUFFER_TOO_SMALLされるまで実行されるループ内で WdfDeviceQueryInterfaceProperty を呼び出す必要があります。

WdfDeviceQueryInterfaceProperty は、必要なバッファー サイズが不明で変更されていない場合にのみ使用することをお勧めします。その場合、ドライバーは WdfDeviceQueryInterfaceProperty を 1 回だけ呼び出す必要があるためです。 必要なバッファー サイズが不明または変化する場合、ドライバーは WdfDeviceAllocAndQueryInterfaceProperty を呼び出す必要があります。

関連するメソッドの詳細については、「 統合デバイス プロパティ モデルへのアクセス」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 8.1
対象プラットフォーム ユニバーサル
最小 UMDF バージョン 2.0
Header wdfdevice.h (Wdf.h を含む)
Library WUDFx02000.lib
[DLL] WUDFx02000.dll
IRQL PASSIVE_LEVEL

こちらもご覧ください

WDF_DEVICE_INTERFACE_PROPERTY_DATA

WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT

WdfDeviceAllocAndQueryInterfaceProperty

WdfDeviceAssignInterfaceProperty