Partager via


WdfMemoryGetBuffer, fonction (wdfmemory.h)

[S’applique à KMDF et UMDF]

La méthode WdfMemoryGetBuffer retourne un pointeur vers la mémoire tampon associée à un objet mémoire spécifié.

Syntaxe

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

Paramètres

[in] Memory

Handle vers un objet de mémoire de framework.

[out, optional] BufferSize

Pointeur vers un emplacement qui reçoit la taille, en octets, de la mémoire tampon. Ce paramètre est facultatif et peut être NULL.

Valeur de retour

WdfMemoryGetBuffer retourne un pointeur vers la mémoire tampon.

Une vérification de bogue se produit si le pilote fournit un handle d’objet non valide.

Remarques

Pour plus d’informations sur les objets de mémoire du framework, consultez Utilisation des mémoires tampons.

WdfMemoryGetBuffer peut être appelée à n’importe quel runtime d’intégration.

Exemples

L’exemple de code suivant est basé sur la fonction de rappel EvtUsbTargetPipeReadComplete dans l’exemple de pilote kmdf_fx2. L’exemple obtient la mémoire tampon associée à l’objet mémoire que la fonction de rappel reçoit. L’exemple copie les données de la mémoire tampon dans l’espace de contexte de l’objet périphérique que le pilote a défini.

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

Spécifications

Besoin Valeur
plateforme cible Universel
version minimale de KMDF 1.0
version minimale de UMDF 2.0
En-tête wdfmemory.h (include Wdf.h)
Bibliothèque Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF)
IRQL N’importe quel niveau
règles de conformité DDI DriverCreate(kmdf), MemAfterReqCompletedIntIoctlA(kmdf), MemAfterReqCompletedIoctlA(kmdf), MemAfterReqCompletedReadA(kmdf), MemAfterReqCompletedWriteA(kmdf)

Voir aussi

WdfMemoryCreate

WdfMemoryCreatePreallocated

WdfObjectContextGetObject