WdfFdoInitQueryPropertyEx 関数 (wdffdo.h)

[KMDF と UMDF に適用]

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

構文

NTSTATUS WdfFdoInitQueryPropertyEx(
  [in]  PWDFDEVICE_INIT           DeviceInit,
  [in]  PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
  [in]  ULONG                     BufferLength,
  [out] PVOID                     PropertyBuffer,
  [out] PULONG                    ResultLength,
  [out] PDEVPROPTYPE              Type
);

パラメーター

[in] DeviceInit

ドライバーが EvtDriverDeviceAdd コールバック関数から取得したWDFDEVICE_INIT構造体へのポインター。

[in] DeviceProperty

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

[in] BufferLength

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

[out] PropertyBuffer

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

[out] ResultLength

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

[out] Type

戻り値として PropertyBuffer に格納されているプロパティ データのプロパティ型の値を含む DEVPROPTYPE 変数へのポインター。

戻り値

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

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

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

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

注釈

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

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

ドライバーは、WdfDeviceCreate を呼び出す前にのみ WdfFdoInitQueryPropertyEx を呼び出すことができます。 WdfDeviceCreate の呼び出しの詳細については、「フレームワーク デバイス オブジェクトの作成」を参照してください。

WdfDeviceCreate を呼び出した後、ドライバーは WdfDeviceQueryPropertyEx を呼び出すことによってデバイス プロパティ情報を取得できます。

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

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.13
最小 UMDF バージョン 2.0
Header wdffdo.h (Wdf.h を含む)
Library Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL

こちらもご覧ください

WdfFdoInitQueryProperty