WDF_MEMORY_DESCRIPTOR_INIT_HANDLE函数 (wdfmemory.h)

[适用于 KMDF 和 UMDF]

WDF_MEMORY_DESCRIPTOR_INIT_HANDLE 函数初始化 WDF_MEMORY_DESCRIPTOR 结构,以便描述指定的框架内存对象。

语法

void WDF_MEMORY_DESCRIPTOR_INIT_HANDLE(
  [out]          PWDF_MEMORY_DESCRIPTOR Descriptor,
  [in]           WDFMEMORY              Memory,
  [in, optional] PWDFMEMORY_OFFSET      Offsets
);

参数

[out] Descriptor

指向 WDF_MEMORY_DESCRIPTOR 结构的指针。

[in] Memory

框架内存对象的句柄。

[in, optional] Offsets

指向 WDFMEMORY_OFFSET 结构的指针。 此参数是可选的,可以 NULL

返回值

没有

注解

WDF_MEMORY_DESCRIPTOR_INIT_HANDLE 函数将指定的 WDF_MEMORY_DESCRIPTOR 结构从零,并将结构的 类型 成员设置为 WdfMemoryDescriptorTypeHandle。 然后,它将结构的 u.HandleType.Memoryu.HandleType.Offsets 成员分别设置为 内存偏移量 参数指定的值。

例子

下面的代码示例获取表示 I/O 请求输入缓冲区的框架内存对象的句柄。 该示例使用内存对象句柄初始化 WDF_MEMORY_DESCRIPTOR 结构。 然后,该示例初始化 WDF_USB_CONTROL_SETUP_PACKET 结构,并将 USB 控制传输请求发送到 I/O 目标。

WDFMEMORY  memory;
WDF_MEMORY_DESCRIPTOR  memDesc;
WDF_USB_CONTROL_SETUP_PACKET  controlSetupPacket;
NTSTATUS  status;

status = WdfRequestRetrieveInputMemory(
                                       Request,
                                       &memory
                                       );
if (!NT_SUCCESS(status)) {
    break;
}
WDF_MEMORY_DESCRIPTOR_INIT_HANDLE(
                                  &memDesc,
                                  memory,
                                  NULL
                                  );

WDF_USB_CONTROL_SETUP_PACKET_INIT_VENDOR(
                                         &controlSetupPacket,
                                         BmRequestHostToDevice,
                                         BmRequestToDevice,
                                         USBFX2LK_SET_BARGRAPH_DISPLAY,
                                         0,
                                         0
                                         );

status = WdfUsbTargetDeviceSendControlTransferSynchronously(
                                  pDevContext->UsbDevice,
                                  NULL,
                                  NULL,
                                  &controlSetupPacket,
                                  &memDesc,
                                  (PULONG)&bytesTransferred
                                  );

要求

要求 价值
目标平台 普遍
最低 KMDF 版本 1.0
最低 UMDF 版本 2.0
标头 wdfmemory.h (包括 Wdf.h)
DDI 符合性规则 MemAfterReqCompletedIntIoctlA(kmdf)MemAfterReqCompletedIoctlA(kmdf)MemAfterReqCompletedReadA(kmdf)MemAfterReqCompletedWriteA(kmdf)

另请参阅

WDFMEMORY_OFFSET

WDF_MEMORY_DESCRIPTOR

WDF_MEMORY_DESCRIPTOR_INIT_BUFFER

WDF_MEMORY_DESCRIPTOR_INIT_MDL