WDF_MEMORY_DESCRIPTOR结构 (wdfmemory.h)
[适用于 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_TYPE类型的值,该值标识此WDF_MEMORY_DESCRIPTOR结构包含的缓冲区说明的类型。
u
三个结构的联合,其中一个结构描述缓冲区。
u.BufferType
如果 Type 成员为 WdfMemoryDescriptorTypeBuffer,则 BufferType 结构的成员描述缓冲区。 此结构包含以下两个成员:
u.BufferType.Buffer
指向缓冲区的指针。
u.BufferType.Length
缓冲区的长度(以字节为单位)。
u.MdlType
如果 Type 成员为 WdfMemoryDescriptorTypeMdl,则 MdlType 结构的成员描述缓冲区。 此结构包含以下两个成员:
u.MdlType.Mdl
指向内存描述符列表的指针 (MDL) 。
u.MdlType.BufferLength
缓冲区的长度(以字节为单位)。
u.HandleType
如果 Type 成员为 WdfMemoryDescriptorTypeHandle,则 HandleType 结构的成员描述缓冲区。 此结构包含以下两个成员:
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) |