WdfIoTargetAllocAndQueryTargetProperty 関数 (wdfiotarget.h)
[KMDF にのみ適用]
WdfIoTargetAllocAndQueryTargetProperty メソッドは、バッファーを割り当て、指定した I/O ターゲットの指定したデバイス プロパティを取得します。
構文
NTSTATUS WdfIoTargetAllocAndQueryTargetProperty(
[in] WDFIOTARGET IoTarget,
[in] DEVICE_REGISTRY_PROPERTY DeviceProperty,
[in] POOL_TYPE PoolType,
[in, optional] PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
[out] WDFMEMORY *PropertyMemory
);
パラメーター
[in] IoTarget
WdfDeviceGetIoTarget または WdfIoTargetCreate または特殊化された I/O ターゲットが提供するメソッドの以前の呼び出しから取得されたローカルまたはリモートの I/O ターゲット オブジェクトへのハンドル。
[in] DeviceProperty
取得 するデバイス プロパティを識別するDEVICE_REGISTRY_PROPERTY型指定の値。
[in] PoolType
割り当てる メモリの種類を指定するPOOL_TYPE型指定された値。
[in, optional] PropertyMemoryAttributes
関数が割り当てるメモリ オブジェクトのオブジェクト属性を記述する呼び出し元によって割り当てられた WDF_OBJECT_ATTRIBUTES 構造体へのポインター。 このパラメーターは省略可能であり、WDF_NO_OBJECT_ATTRIBUTESできます。
[out] PropertyMemory
フレームワーク メモリ オブジェクトへのハンドルを受け取る WDFMEMORY 型の場所へのポインター。
戻り値
WdfIoTargetAllocAndQueryTargetProperty は、操作が成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、このメソッドは次のいずれかの値を返す可能性があります。
リターン コード | 説明 |
---|---|
|
DeviceProperty パラメーターが指定した値が無効です。 |
|
デバイスのドライバーは、デバイスのプロパティをまだ報告していません。 |
このメソッドは、他の NTSTATUS 値を返す場合もあります。
ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。
注釈
WdfIoTargetAllocAndQueryTargetProperty メソッドは、要求されたデバイス プロパティを保持するために必要なメモリの量を決定します。 このメソッドは、データを保持するのに十分なメモリを割り当て、割り当てられたメモリを記述するフレームワーク メモリ オブジェクトにハンドルを返します。 データにアクセスするために、ドライバーは WdfMemoryGetBuffer を呼び出すことができます。
WdfIoTargetAllocAndQueryTargetProperty の詳細については、「一般的な I/O ターゲットに関する情報の取得」を参照してください。
I/O ターゲットの詳細については、「I /O ターゲットの使用」を参照してください。
例
次のコード例では 、WdfIoTargetAllocAndQueryTargetProperty を呼び出して DevicePropertyFriendlyName プロパティを 取得します。 WdfIoTargetAllocAndQueryTargetProperty が返された後、ドライバーは WdfMemoryGetBuffer を呼び出して、名前文字列を含むバッファーへのポインターを取得できます。
WDFMEMORY targetName;
NTSTATUS status;
status = WdfIoTargetAllocAndQueryTargetProperty(
Target,
DevicePropertyFriendlyName,
NonPagedPool,
WDF_NO_OBJECT_ATTRIBUTES,
&targetName
);
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
Header | wdfiotarget.h (Wdf.h を含む) |
Library | Wdf01000.sys (「Framework ライブラリのバージョン管理」を参照)。 |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |
こちらもご覧ください
WdfDeviceAllocAndQueryProperty