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を返します。 その他の戻り値は次のとおりです。
リターン コード | 説明 |
---|---|
|
指定されたバッファーが小さすぎて情報を受信できません。 |
|
指定された 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 |