[KMDF と UMDF に適用]
WDF_MEMORY_DESCRIPTOR 構造体は、メモリ バッファーを記述します。
構文
typedef struct _WDF_MEMORY_DESCRIPTOR {
WDF_MEMORY_DESCRIPTOR_TYPE Type;
union {
struct {
PVOID Buffer;
ULONG Length;
} BufferType;
struct {
PMDL Mdl;
ULONG BufferLength;
} MdlType;
struct {
WDFMEMORY Memory;
PWDFMEMORY_OFFSET Offsets;
} HandleType;
} u;
} WDF_MEMORY_DESCRIPTOR, *PWDF_MEMORY_DESCRIPTOR;
メンバー
Type
この WDF_MEMORY_DESCRIPTOR 構造体に含まれるバッファー記述の種類を識別する WDF_MEMORY_DESCRIPTOR_TYPE型指定された値。
u
3 つの構造体の和集合。そのうちの 1 つはバッファーを表します。
u.BufferType
Type メンバーが WdfMemoryDescriptorTypeBuffer 場合、BufferType 構造体のメンバーはバッファーを記述します。 この構造体には、次の 2 つのメンバーが含まれています。
u.BufferType.Buffer
バッファーへのポインター。
u.BufferType.Length
バッファーの長さ (バイト単位)。
u.MdlType
Type メンバーが WdfMemoryDescriptorTypeMdl 場合、MdlType 構造体のメンバーはバッファーを記述します。 この構造体には、次の 2 つのメンバーが含まれています。
u.MdlType.Mdl
メモリ記述子リスト (MDL) へのポインター。
u.MdlType.BufferLength
バッファーの長さ (バイト単位)。
u.HandleType
Type メンバーが WdfMemoryDescriptorTypeHandle 場合、HandleType 構造体のメンバーはバッファーを記述します。 この構造体には、次の 2 つのメンバーが含まれています。
u.HandleType.Memory
フレームワーク メモリ オブジェクトへのハンドル。
u.HandleType.Offsets
メモリ オブジェクトによって表されるバッファーのサブセクションを記述する WDFMEMORY_OFFSET 構造体へのポインター。
注釈
WDF_MEMORY_DESCRIPTOR 構造体は、フレームワークのいくつかの I/O ターゲット オブジェクト メソッドの および USB デバイス オブジェクト メソッドへの入力として使用されます。
WDF_MEMORY_DESCRIPTOR 構造体を初期化するには、ドライバーは、WDF_MEMORY_DESCRIPTOR_INIT_BUFFER、WDF_MEMORY_DESCRIPTOR_INIT_MDL、または WDF_MEMORY_DESCRIPTOR_INIT_HANDLEを呼び出す必要があります。
必要条件
| 要件 | 価値 |
|---|---|
| 最小 KMDF バージョン | 1.0 |
| UMDF の最小バージョン を する | 2.0 |
| ヘッダー | wdfmemory.h (Wdf.h を含む) |