Función CoGetStdMarshalEx (combaseapi.h)

Crea un serializador estándar agregado para su uso con controladores ligeros del lado cliente.

Sintaxis

HRESULT CoGetStdMarshalEx(
  [in]  LPUNKNOWN pUnkOuter,
  [in]  DWORD     smexflags,
  [out] LPUNKNOWN *ppUnkInner
);

Parámetros

[in] pUnkOuter

Puntero al control IUnknown.

[in] smexflags

Uno de los dos valores que indican si el serializador estándar agregado está en el lado cliente o en el lado servidor. Estas marcas se definen en la enumeración STDMSHLFLAGS .

Valor Significado
SMEXF_SERVER
0x01
Indica un serializador estándar agregado del lado servidor.
SMEXF_HANDLER
0x0
Indica un serializador estándar agregado del lado cliente (controlador).

[out] ppUnkInner

Si la devolución es correcta, la dirección del puntero a la interfaz IUnknown en el serializador estándar agregado recién creado. Si se produce un error, este valor es NULL.

Valor devuelto

Esta función devuelve S_OK.

Comentarios

El servidor llama a CoGetStdMarshalEx pasando la marca SMEXF_SERVER. Esto crea un serializador estándar del lado servidor (conocido como administrador de código auxiliar). El controlador llama a CoGetStdMarshalEx pasando la marca SMEXF_HANDLER. Esto crea un serializador estándar del lado cliente (conocido como administrador de proxy). Tenga en cuenta que, al llamar a esta función, el controlador debe pasar el control original desconocido que se pasó al controlador cuando se creó el controlador. Este será el sistema implementado controlando desconocido. Si no se pasa el valor correcto de IUnknown, se devuelve un error. Si se ejecuta correctamente, ppUnkInner devuelto es el control desconocido del objeto interno. El servidor y el controlador deben mantener este puntero y puede usarlo para llamar a IUnknown::QueryInterface para la interfaz IMarshal .

Requisitos

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

Consulte también

IMarshal

IStdMarshalInfo

Controlador de Client-Side ligero