Partager via


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

Voir aussi

IWDFIoQueue ::RetrieveNextRequest

IWDFIoRequest

IWDFMemory

IWDFMemory ::GetDataBuffer