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:
- Crea un objeto de secuencia.
- Pasa el puntero IStream del objeto de secuencia a CoMarshalInterface.
- 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 |