Freigeben über


WdfMemoryGetBuffer-Funktion (wdfmemory.h)

[Gilt für KMDF und UMDF]

Die WdfMemoryGetBuffer--Methode gibt einen Zeiger auf den Puffer zurück, der einem angegebenen Speicherobjekt zugeordnet ist.

Syntax

PVOID WdfMemoryGetBuffer(
  [in]            WDFMEMORY Memory,
  [out, optional] size_t    *BufferSize
);

Die Parameter

[in] Memory

Ein Handle für ein Framework-Speicherobjekt.

[out, optional] BufferSize

Ein Zeiger auf eine Position, die die Größe des Speicherpuffers in Bytes empfängt. Dieser Parameter ist optional und kann NULL-werden.

Rückgabewert

WdfMemoryGetBuffer- gibt einen Zeiger auf den Speicherpuffer zurück.

Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.

Bemerkungen

Weitere Informationen zu Framework-Speicherobjekten finden Sie unter Verwenden von Speicherpuffern.

WdfMemoryGetBuffer- kann bei jedem IRQL aufgerufen werden.

Beispiele

Das folgende Codebeispiel basiert auf der EvtUsbTargetPipeReadComplete Rückruffunktion im kmdf_fx2 Beispieltreiber. Das Beispiel ruft den Puffer ab, der dem Speicherobjekt zugeordnet ist, das die Rückruffunktion empfängt. Im Beispiel werden Daten aus dem Puffer in den Kontextbereich des Geräteobjekts kopiert, den der Treiber definiert hat.

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;
}

Anforderungen

Anforderung Wert
Zielplattform universell
Minimale KMDF-Version 1.0
Mindest-UMDF-Version 2.0
Kopfzeile wdfmemory.h (include Wdf.h)
Bibliothek Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL Beliebige Ebene
DDI-Complianceregeln DriverCreate(kmdf), MemAfterReqCompletedIntIoctlA(kmdf), MemAfterReqCompletedIoctlA(kmdf), MemAfterReqCompletedReadA(kmdf), MemAfterReqCompletedWriteA(kmdf)

Siehe auch

WdfMemoryCreate

WdfMemoryCreatePreallocated

WdfObjectContextGetObject-