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 |
---|---|
|
Indica un serializador estándar agregado del lado servidor. |
|
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 |