CoMarshalInterThreadInterfaceInStream, fonction (combaseapi.h)

Marshale un pointeur d’interface d’un thread vers un autre thread dans le même processus.

Syntaxe

HRESULT CoMarshalInterThreadInterfaceInStream(
  [in]  REFIID    riid,
  [in]  LPUNKNOWN pUnk,
  [out] LPSTREAM  *ppStm
);

Paramètres

[in] riid

Référence à l’identificateur de l’interface à marshaler.

[in] pUnk

Pointeur vers l’interface à marshaler, qui doit être dérivée de IUnknown. Ce paramètre peut être NULL.

[out] ppStm

Adresse de la variable pointeur IStream* qui reçoit le pointeur d’interface vers le flux qui contient l’interface marshalée.

Valeur retournée

Cette fonction peut retourner les valeurs de retour standard E_OUTOFMEMORY et S_OK.

Remarques

La fonction CoMarshalInterThreadInterfaceInStream permet à un objet de marshaler facilement et de manière fiable un pointeur d’interface vers un autre thread dans le même processus. Le flux retourné dans le paramètre ppStm est garanti pour se comporter correctement lorsqu’un client s’exécutant dans le thread de réception tente de démarshaler le pointeur. Le client peut ensuite appeler coGetInterfaceAndReleaseStream pour annuler lemarshal du pointeur d’interface et libérer l’objet stream.

La fonction CoMarshalInterThreadInterfaceInStream effectue les tâches suivantes :

  1. Crée un objet stream.
  2. Transmet le pointeur IStream de l’objet stream à CoMarshalInterface.
  3. Retourne le pointeur IStream vers l’appelant.

Configuration requise

Condition requise Valeur
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

CoGetInterfaceAndReleaseStream