Función CoMarshalInterThreadInterfaceInStream (combaseapi.h)

Serializa un puntero de interfaz de un subproceso a otro subproceso en el mismo proceso.

Sintaxis

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

Parámetros

[in] riid

Referencia al identificador de la interfaz que se va a serializar.

[in] pUnk

Puntero a la interfaz que se va a serializar, que debe derivarse de IUnknown. Este parámetro puede ser NULL.

[out] ppStm

Dirección de la variable de puntero IStream* que recibe el puntero de interfaz a la secuencia que contiene la interfaz serializada.

Valor devuelto

Esta función puede devolver los valores devueltos estándar E_OUTOFMEMORY y S_OK.

Comentarios

La función CoMarshalInterThreadInterfaceInStream permite a un objeto serializar de forma sencilla y confiable un puntero de interfaz a otro subproceso en el mismo proceso. Se garantiza que la secuencia devuelta en el parámetro ppStm se comporta correctamente cuando un cliente que se ejecuta en el subproceso receptor intenta anular la marca del puntero. A continuación, el cliente puede llamar a CoGetInterfaceAndReleaseStream para desmarshalar el puntero de interfaz y liberar el objeto de secuencia.

La función CoMarshalInterThreadInterfaceInStream realiza las siguientes tareas:

  1. Crea un objeto de secuencia.
  2. Pasa el puntero IStream del objeto de secuencia a CoMarshalInterface.
  3. Devuelve el puntero IStream al autor de la llamada.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado combaseapi.h (incluya Objbase.h)
Library Ole32.lib
Archivo DLL Ole32.dll

Consulte también

CoGetInterfaceAndReleaseStream