Méthode IWDFIoRequest ::GetOutputMemory (wudfddi.h)
[Avertissement : UMDF 2 est la dernière version d’UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide d’UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et la prise en charge d’UMDF 1 est limitée sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Prise en main avec UMDF.]
La méthode GetOutputMemory récupère l’objet mémoire qui représente la mémoire tampon de sortie pour une demande d’E/S.
Syntaxe
void GetOutputMemory(
[out] IWDFMemory **ppWdfMemory
);
Paramètres
[out] ppWdfMemory
Pointeur vers une variable qui reçoit un pointeur vers l’interface IWDFMemory comptabilisée en référence pour l’objet mémoire. Notez que le retour de la valeur NULL est valide ; dans ce cas, aucune mémoire de sortie n’est associée à la demande d’E/S.
Valeur de retour
None
Remarques
Les pilotes qui utilisent la méthode d’accès aux E/S mises en mémoire tampon peuvent appeler GetOutputMemory pour obtenir la mémoire tampon de sortie d’une requête d’E/S.
Avant qu’un pilote termine une requête d’E/S, il doit appeler la méthode IWDFMemory ::Release pour l’objet mémoire. L’objet mémoire sous-jacent est libéré lorsque la demande est terminée.
La mémoire tampon de sortie associée à la demande d’E/S contient des informations (par exemple, les données d’un disque) que le pilote fournit à l’initiateur de la requête. Le pilote peut appeler GetOutputMemory pour obtenir la mémoire tampon de sortie pour une demande de lecture ou une demande de contrôle d’E/S d’appareil, mais pas pour une demande d’écriture (car les demandes d’écriture ne fournissent pas de données de sortie). Pour accéder à la mémoire tampon de sortie, le pilote doit appeler la méthode IWDFMemory ::GetDataBuffer .
UMDF crée les objets mémoire d’une requête d’E/S lorsqu’elle reçoit la demande d’E/S, avant d’ajouter la demande d’E/S à la file d’attente d’E/S d’un pilote. Si UMDF ne peut pas allouer de mémoire pour les objets mémoire, il termine la demande d’E/S avec un retour d’échec status et ne remet pas la demande d’E/S au pilote.
Pour plus d’informations sur l’accès aux mémoires tampons de données d’une demande d’E/S, consultez Accès aux mémoires tampons de données dans les pilotes UMDF-Based.
Exemples
Pour obtenir un exemple de code montrant comment utiliser la méthode GetOutputMemory , consultez IWDFIoQueue ::RetrieveNextRequest.
Configuration requise
Condition requise | Valeur |
---|---|
Fin de la prise en charge | Non disponible dans UMDF 2.0 et versions ultérieures. |
Plateforme cible | Desktop (Expérience utilisateur) |
Version UMDF minimale | 1.5 |
En-tête | wudfddi.h (inclure Wudfddi.h) |
DLL | WUDFx.dll |