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 :
- Crée un objet stream.
- Transmet le pointeur IStream de l’objet stream à CoMarshalInterface.
- 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 |