次の方法で共有


WdfDeviceQueryPropertyEx 関数 (wdfdevice.h)

[KMDF と UMDF に適用]

WdfDeviceQueryPropertyEx メソッドは、指定したデバイス プロパティを取得します。

構文

NTSTATUS WdfDeviceQueryPropertyEx(
  [in]  WDFDEVICE                 Device,
  [in]  PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
  [in]  ULONG                     BufferLength,
  [out] PVOID                     PropertyBuffer,
  [out] PULONG                    RequiredSize,
  [out] PDEVPROPTYPE              Type
);

パラメーター

[in] Device

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

[in] DeviceProperty

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

[in] BufferLength

PropertyBuffer によって指されるバッファーのサイズ (バイト単位)指定します。

[out] PropertyBuffer

要求された情報を受信する呼び出し元によって割り当てられたバッファーへの呼び出し元が指定したポインター。 BufferLength パラメーターが 0 の場合、ポインターは NULL できます。

[out] RequiredSize

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

[out] Type

DEVPROPTYPE 変数へのポインター。 メソッドが正常に実行された場合、このパラメーターには、PropertyBuffer に格納されているプロパティ データのプロパティ型の値含まれます。

戻り値

操作が成功した場合、WdfDeviceQueryPropertyEx はSTATUS_SUCCESSを返します。 その他の戻り値は次のとおりです。

リターン コード 形容
STATUS_BUFFER_TOO_SMALL
指定されたバッファーが小さすぎて情報を受信できません。
STATUS_INVALID_PARAMETER
指定した DeviceProperty 値が無効です。
 

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

ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。

備考

WdfDeviceQueryPropertyEx を使用すると、統合プロパティ モデルを介して公開されるプロパティを取得できますが、WdfDeviceQueryProperty メソッドでは、統合プロパティ モデルのサブセットに対してのみクエリを実行できます。

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

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

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

必要条件

要件 価値
ターゲット プラットフォーム 万国
最小 KMDF バージョン 1.13
UMDF の最小バージョン する 2.0
ヘッダー wdfdevice.h (Wdf.h を含む)
ライブラリ Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF)
IRQL APC_LEVEL

関連項目

WdfDeviceQueryInterfaceProperty

WdfDeviceQueryProperty