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.Memory 和 u.HandleType.Offsets 成員分別設定為 Memory 和 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
);
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最小 KMDF 版本 | 1.0 |
最低UMDF版本 | 2.0 |
標頭 | wdfmemory.h (包含 Wdf.h) |
DDI 合規性規則 | MemAfterReqCompletedIntIoctlA (kmdf) 、 MemAfterReqCompletedIoctlA (kmdf) 、 MemAfterReqCompletedReadA (kmdf) 、 MemAfterReqCompletedWriteA (kmdf) |