Función CoSwitchCallContext (combaseapi.h)
Cambia el objeto de contexto de llamada utilizado por CoGetCallContext.
Sintaxis
HRESULT CoSwitchCallContext(
[in, optional] IUnknown *pNewObject,
[out] IUnknown **ppOldObject
);
Parámetros
[in, optional] pNewObject
Puntero a una interfaz en el nuevo objeto de contexto de llamada. COM almacena este puntero sin agregar una referencia al puntero hasta que se llama a CoSwitchCallContext con otro objeto . Este parámetro puede ser NULL si llama a CoSwitchCallContext para volver al contexto de llamada original, pero no hubo ningún contexto de llamada original.
[out] ppOldObject
Dirección de la variable de puntero que recibe un puntero al objeto de contexto de llamada de la llamada actualmente en curso. Este valor se devuelve para que el serializador personalizado pueda restaurar el contexto de llamada original. El puntero devuelto será NULL si no hay ninguna llamada en curso.
Valor devuelto
Esta función puede devolver los valores siguientes.
Código devuelto | Descripción |
---|---|
|
La función se realizó correctamente. |
|
Memoria insuficiente |
Comentarios
Los serializadores personalizados llaman a CoSwitchCallContext para cambiar el objeto de contexto de llamada usado por la función CoGetCallContext . Antes de enviar una llamada de llegada, los serializadores personalizados llaman a CoSwitchCallContext, especificando el nuevo objeto de contexto. Después de enviar una respuesta, deben restaurar el contexto de llamada original llamando a CoSwitchCallContext de nuevo, esta vez pasando un puntero al objeto de contexto original.
CoSwitchCallContext no agrega una referencia al nuevo objeto de contexto. Los serializadores personalizados deben asegurarse de que la duración de su objeto de contexto continúa a lo largo de su llamada y hasta que la llamada para restaurar el contexto original. Los serializadores personalizados no deben liberar el valor que colocaron en el parámetro ppOldObject cuando establecen su contexto.
Los objetos de contexto de llamada proporcionados por los serializadores personalizados deben admitir la interfaz IServerSecurity .
Requisitos
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 |