Partager via


IWDFIoRequest ::GetOutputMemory, méthode (wudfddi.h)

[Avertissement : UMDF 2 est la dernière version de UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide de UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et il existe une prise en charge limitée de UMDF 1 sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Bien démarrer avec UMDF.]

La méthode GetOutputMemory récupère l’objet mémoire qui représente la mémoire tampon de sortie pour une requête 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 de référence IWDFMemory pour l’objet mémoire. Notez que le retour NULL est valide ; dans ce cas, aucune mémoire de sortie n’est associée à la requête d’E/S.

Valeur de retour

Aucun

Remarques

Les pilotes qui utilisent la méthode d’accès mise en mémoire tampon peuvent appeler GetOutputMemory pour obtenir la mémoire tampon de sortie d’une requête d’E/S.

Avant de terminer une requête d’E/S, le pilote doit appeler la méthode IWDFMemory ::Release pour l’objet mémoire. L’objet mémoire sous-jacent est libéré lorsque la requête est terminée.

La mémoire tampon de sortie associée à la requête d’E/S contient des informations (par exemple, des données d’un disque) fournies par le pilote à l’origine de la requête. Le pilote peut appeler GetOutputMemory pour obtenir la mémoire tampon de sortie d’une demande de lecture ou d’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 requête d’E/S, avant d’ajouter la requête 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, elle termine la demande d’E/S avec un état de retour d’échec 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 requête d’E/S, consultez Accès aux mémoires tampons de données dans UMDF-Based Pilotes.

Exemples

Pour obtenir un exemple de code montrant comment utiliser la méthode GetOutputMemory, consultez IWDFIoQueue ::RetrieveNextRequest.

Exigences

Exigence Valeur
fin du support Indisponible dans UMDF 2.0 et versions ultérieures.
plateforme cible Bureau
version minimale de UMDF 1.5
d’en-tête wudfddi.h (include Wudfddi.h)
DLL WUDFx.dll

Voir aussi

IWDFIoQueue ::RetrieveNextRequest

IWDFIoRequest

IWDFMemory

IWDFMemory ::GetDataBuffer