Fonction WdfMemoryGetBuffer (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 d’un objet de mémoire 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 retournée
WdfMemoryGetBuffer retourne un pointeur vers la mémoire tampon.
Un bogue case activée se produit si le pilote fournit un handle d’objet non valide.
Remarques
Pour plus d’informations sur les objets de mémoire framework, consultez Utilisation de mémoire tampons.
WdfMemoryGetBuffer peut être appelé à n’importe quel IRQL.
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 de 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;
}
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1.0 |
Version UMDF minimale | 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) |