funzione WDF_MEMORY_DESCRIPTOR_INIT_HANDLE (wdfmemory.h)
[Si applica a KMDF e UMDF]
La funzione WDF_MEMORY_DESCRIPTOR_INIT_HANDLE inizializza una struttura WDF_MEMORY_DESCRIPTOR in modo da descrivere un oggetto di memoria framework specificato.
Sintassi
void WDF_MEMORY_DESCRIPTOR_INIT_HANDLE(
[out] PWDF_MEMORY_DESCRIPTOR Descriptor,
[in] WDFMEMORY Memory,
[in, optional] PWDFMEMORY_OFFSET Offsets
);
Parametri
[out] Descriptor
Puntatore a una struttura WDF_MEMORY_DESCRIPTOR .
[in] Memory
Handle per un oggetto memoria framework.
[in, optional] Offsets
Puntatore a una struttura WDFMEMORY_OFFSET . Questo parametro è facoltativo e può essere NULL.
Valore restituito
nessuno
Osservazioni
La funzione WDF_MEMORY_DESCRIPTOR_INIT_HANDLE zero la struttura di WDF_MEMORY_DESCRIPTOR specificata e imposta il membro Type della struttura su WdfMemoryDescriptorTypeHandle. Imposta quindi i membri u.HandleType.Memory e u.HandleType.Offsets della struttura sui valori specificati rispettivamente dai parametri Memory e Offsets.
Esempio
Nell'esempio di codice seguente viene ottenuto un handle per un oggetto memoria del framework che rappresenta il buffer di input di una richiesta di I/O. L'esempio usa l'handle dell'oggetto memoria per inizializzare una struttura WDF_MEMORY_DESCRIPTOR . L'esempio inizializza quindi una struttura WDF_USB_CONTROL_SETUP_PACKET e invia una richiesta di trasferimento del controllo USB a una destinazione di 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
);
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Versione UMDF minima | 2,0 |
Intestazione | wdfmemory.h (include Wdf.h) |
Regole di conformità DDI | MemAfterReqCompletedIntIoctlA(kmdf), MemAfterReqCompletedIoctlA(kmdf), MemAfterReqCompletedReadA(kmdf), MemAfterReqCompletedWriteA(kmdf) |