Condividi tramite


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)

Vedere anche

WdfMemoryCreare

WdfMemoryCreatePreallocated

WdfObjectContextGetObject