Funzione WdfMemoryGetBuffer (wdfmemory.h)
[Si applica a KMDF e UMDF]
Il metodo WdfMemoryGetBuffer restituisce un puntatore al buffer associato a un oggetto memoria specificato.
Sintassi
PVOID WdfMemoryGetBuffer(
[in] WDFMEMORY Memory,
[out, optional] size_t *BufferSize
);
Parametri
[in] Memory
Handle per un oggetto memoria del framework.
[out, optional] BufferSize
Puntatore a una posizione che riceve le dimensioni, in byte, del buffer di memoria. Questo parametro è facoltativo e può essere NULL.
Valore restituito
WdfMemoryGetBuffer restituisce un puntatore al buffer di memoria.
Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.
Osservazioni:
Per altre informazioni sugli oggetti di memoria del framework, vedere Using Memory Buffers.
WdfMemoryGetBuffer può essere chiamato in qualsiasi IRQL.
Esempi
L'esempio di codice seguente si basa sulla EvtUsbTargetPipeReadComplete funzione di callback nel driver di esempio kmdf_fx2. Nell'esempio viene ottenuto il buffer associato all'oggetto memoria ricevuto dalla funzione di callback. L'esempio copia i dati dal buffer nello spazio del contesto dell'oggetto dispositivo definito dal driver.
VOID
OsrFxEvtUsbInterruptPipeReadComplete(
WDFUSBPIPE Pipe,
WDFMEMORY Buffer,
size_t NumBytesTransferred,
WDFCONTEXT Context
)
{
PUCHAR switchState = NULL;
WDFDEVICE device;
PDEVICE_CONTEXT pDeviceContext = Context;
device = WdfObjectContextGetObject(pDeviceContext);
switchState = WdfMemoryGetBuffer(Buffer, NULL);
pDeviceContext->CurrentSwitchState = *switchState;
}
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
versione minima di KMDF | 1.0 |
versione minima di UMDF | 2.0 |
intestazione | wdfmemory.h (include Wdf.h) |
Biblioteca | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | Qualsiasi livello |
regole di conformità DDI | DriverCreate(kmdf), MemAfterReqCompletedIntIoctlA(kmdf), MemAfterReqCompletedIoctlA(kmdf), MemAfterReqCompletedReadA(kmdf), MemAfterReqCompletedWriteA(kmdf) |