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
                                  );

規格需求

需求
目標平台 Universal
最小 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