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
);
需求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
最低 KMDF 版本 | 1.0 |
最低 UMDF 版本 | 2.0 |
標題 | wdfmemory.h (包括 Wdf.h) |
DDI 合規性規則 | MemAfterReqCompletedIntIoctlA(kmdf),MemAfterReqCompletedIoctlA(kmdf),MemAfterReqCompletedReadA(kmdf),MemAfterReqCompletedWriteA(kmdf) |