Método IMessageFilter::HandleInComingCall (objidl.h)
Proporciona un único punto de entrada para las llamadas entrantes.
Se llama a este método antes de cada invocación de método que se origina fuera del proceso actual y proporciona la capacidad de filtrar o rechazar llamadas entrantes (o devoluciones de llamada) a un objeto o un proceso.
Sintaxis
DWORD HandleInComingCall(
[in] DWORD dwCallType,
[in] HTASK htaskCaller,
[in] DWORD dwTickCount,
[in] LPINTERFACEINFO lpInterfaceInfo
);
Parámetros
[in] dwCallType
Tipo de llamada entrante que se ha recibido. Los valores posibles proceden de la enumeración CALLTYPE.
[in] htaskCaller
Identificador de subproceso del autor de la llamada.
[in] dwTickCount
Recuento de tics transcurrido desde que se realizó la llamada saliente, si dwCallType no está CALLTYPE_TOPLEVEL. Si dwCallType es CALLTYPE_TOPLEVEL, dwTickCount debe omitirse.
[in] lpInterfaceInfo
Puntero a una estructura INTERFACEINFO que identifica el objeto, la interfaz y el método a los que se llama. En el caso de llamadas DDE, lpInterfaceInfo puede ser NULL porque la capa DDE no devuelve información de interfaz.
Valor devuelto
Este método puede devolver los siguientes valores.
Código devuelto | Descripción |
---|---|
|
Es posible que la aplicación pueda procesar la llamada. |
|
La aplicación no puede controlar la llamada debido a un problema imprevisto, como la falta de disponibilidad de la red o si está en proceso de terminación. |
|
La aplicación no puede controlar la llamada en este momento. Una aplicación puede devolver este valor cuando se encuentra en un estado modal controlado por el usuario. |
Comentarios
Si se implementa, COM llama a HandleInComingCall cuando se recibe un mensaje COM entrante.
Dependiendo del estado actual de una aplicación, una llamada se acepta y procesa o rechaza (permanente o temporalmente). Si se devuelve SERVERCALL_ISHANDLED, es posible que la aplicación pueda procesar la llamada, aunque el éxito depende de la interfaz para la que se destina la llamada. Si no se puede procesar la llamada, COM devuelve RPC_E_CALL_REJECTED.
Las llamadas asincrónicas y sincronizadas de entrada se envían incluso si la aplicación devuelve SERVERCALL_REJECTED o SERVERCALL_RETRYLATER.
HandleInComingCall no debe usarse para mantener las actualizaciones de los objetos durante las operaciones como la impresión en banda. Para ello, use IViewObject::Freeze.
También puede usar HandleInComingCall para configurar el estado de la aplicación para que la llamada se pueda procesar en el futuro.
Requisitos
Requisito | Value |
---|---|
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 | objidl.h |