WDF_MEMORY_DESCRIPTOR_INIT_HANDLE-Funktion (wdfmemory.h)
[Gilt für KMDF und UMDF]
Die WDF_MEMORY_DESCRIPTOR_INIT_HANDLE-Funktion initialisiert eine WDF_MEMORY_DESCRIPTOR-Struktur , sodass sie ein angegebenes Frameworkspeicherobjekt beschreibt.
Syntax
void WDF_MEMORY_DESCRIPTOR_INIT_HANDLE(
[out] PWDF_MEMORY_DESCRIPTOR Descriptor,
[in] WDFMEMORY Memory,
[in, optional] PWDFMEMORY_OFFSET Offsets
);
Parameter
[out] Descriptor
Ein Zeiger auf eine WDF_MEMORY_DESCRIPTOR-Struktur .
[in] Memory
Ein Handle für ein Frameworkspeicherobjekt.
[in, optional] Offsets
Ein Zeiger auf eine WDFMEMORY_OFFSET-Struktur . Dieser Parameter ist optional und kann NULL sein.
Rückgabewert
Keine
Bemerkungen
Die WDF_MEMORY_DESCRIPTOR_INIT_HANDLE-Funktion nullt die angegebene WDF_MEMORY_DESCRIPTOR-Struktur und legt den Type-Member der Struktur auf WdfMemoryDescriptorTypeHandle fest. Anschließend werden die Elemente u.HandleType.Memory und u.HandleType.Offsets der Struktur auf die Werte festgelegt, die die Parameter Memory und Offsets angeben.
Beispiele
Im folgenden Codebeispiel wird ein Handle für ein Frameworkspeicherobjekt abgerufen, das den Eingabepuffer einer E/A-Anforderung darstellt. Im Beispiel wird das Speicherobjekthandle verwendet, um eine WDF_MEMORY_DESCRIPTOR-Struktur zu initialisieren. Anschließend initialisiert das Beispiel eine WDF_USB_CONTROL_SETUP_PACKET-Struktur und sendet eine USB-Steuerungsübertragungsanforderung an ein E/A-Ziel.
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
);
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
KMDF-Mindestversion | 1.0 |
UMDF-Mindestversion | 2.0 |
Kopfzeile | wdfmemory.h (einschließen von Wdf.h) |
DDI-Complianceregeln | MemAfterReqCompletedIntIoctlA(kmdf), MemAfterReqCompletedIoctlA(kmdf), MemAfterReqCompletedReadA(kmdf), MemAfterReqCompletedWriteA(kmdf) |