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结构归零,并将结构的 Type 成员设置为 WdfMemoryDescriptorTypeHandle。 然后,它将结构的 u.HandleType.Memoryu.HandleType.Offsets 成员分别设置为 MemoryOffsets 参数指定的值。

示例

下面的代码示例获取表示 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