CoGetInterfaceAndReleaseStream, fonction (combaseapi.h)

Désactive une mémoire tampon contenant un pointeur d’interface et libère le flux lorsqu’un pointeur d’interface a été marshalé à partir d’un autre thread vers le thread appelant.

Syntaxe

HRESULT CoGetInterfaceAndReleaseStream(
  [in]  LPSTREAM pStm,
  [in]  REFIID   iid,
  [out] LPVOID   *ppv
);

Paramètres

[in] pStm

Pointeur vers l’interface IStream sur le flux à démarshaler.

[in] iid

Référence à l’identificateur de l’interface demandée à partir de l’objet non délimité.

[out] ppv

Adresse de la variable pointeur qui reçoit le pointeur d’interface demandé dans riid. En cas de retour réussi, *ppv contient le pointeur d’interface demandé vers l’interface non délimitée.

Valeur retournée

Cette fonction peut retourner les valeurs de retour standard S_OK et E_INVALIDARG, ainsi que toutes les valeurs retournées par CoUnmarshalInterface.

Remarques

Important  

Remarque de sécurité : L’appel de cette méthode avec des données non approuvées est un risque de sécurité. Appelez cette méthode avec des données approuvées uniquement.

 
La fonction CoGetInterfaceAndReleaseStream effectue les tâches suivantes :
  • Appelle CoUnmarshalInterface pour annuler lamarshal d’un pointeur d’interface précédemment passé dans un appel à CoMarshalInterThreadInterfaceInStream.
  • Libère le pointeur de flux. Même si la démarshalation échoue, le flux est toujours libéré, car il n’existe aucun moyen efficace de se remettre d’une défaillance de ce type.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête combaseapi.h (inclure Objbase.h)
Bibliothèque Ole32.lib
DLL Ole32.dll

Voir aussi

CoMarshalInterThreadInterfaceInStream

CoUnmarshalInterface