Método IPrintAsyncNotifyCallback::ChannelClosed (prnasnot.h)
Aconseja a un miembro de un canal de comunicación que notifique al otro miembro que se está cerrando el canal.
Sintaxis
HRESULT ChannelClosed(
[in] IPrintAsyncNotifyChannel *pChannel,
[in] IPrintAsyncNotifyDataObject *pData
);
Parámetros
[in] pChannel
Puntero al canal utilizado por el remitente y el agente de escucha.
[in] pData
Puntero al objeto que contiene los datos de notificación o la respuesta.
Valor devuelto
HRESULT | severity | Significado |
---|---|---|
S_OK | CORRECTA | Esta función se completó correctamente. |
CHANNEL_ALREADY_CLOSED | ERROR | El canal ya se ha cerrado. |
Los valores devueltos son códigos de error COM. Dado que esta función puede completar la operación correctamente pero devolver un HRESULT distinto de S_OK debe usar la macro SUCCEEDED o FAILED para determinar el éxito de la llamada. Para obtener el VALOR HRESULT específico devuelto por la función , use la macro HRESULT_CODE.
Consulte PrintAsyncNotifyError para ver otros valores devueltos posibles.
Para obtener más información sobre los códigos de error COM, vea Control de errores.
En el ejemplo de código siguiente se muestra cómo se pueden usar estas macros para evaluar el valor devuelto.
if (SUCCEEDED(hr)){
// Call was successful
}
if (FAILED(hr)) {
// Call failed
}
if (FAILED(hr)) {
// Call failed, check HRESULT value returned
switch (HRESULT_CODE(hr)){
case CHANNEL_ALREADY_CLOSED:
// Some action
break;
default:
// Default action
break;
}
} else {
// Call succeeded
}
Comentarios
Cuando un componente hospedado por el administrador de trabajos de impresión cierra un canal de comunicación con una aplicación de escucha, el componente debe llamar al método ChannelClosed del objeto IPrintAsyncNotifyCallback , que la aplicación de escucha proporcionó en el momento en que registró para las notificaciones. Si el servidor de impresión se bloquea, el administrador de trabajos de impresión intentará llamar al método OnEventNotify del objeto IPrintAsyncNotifyCallback proporcionado por la aplicación de escucha. Enviará una notificación de tipo NOTIFICATION_RELEASE.
Si la aplicación de escucha cierra un canal de comunicación bidireccional, debe llamar al método ChannelClosed del objeto IPrintAsyncNotifyCallback proporcionado por el componente cuando creó el canal. Si la aplicación de escucha se bloquea, el administrador de trabajos de impresión llamará al método OnEventNotify del objeto IPrintAsyncNotifyCallback proporcionado por el componente hospedado por el administrador de trabajos de impresión. Enviará una notificación de tipo NOTIFICATION_RELEASE.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | prnasnot.h |
Archivo DLL | Prnasnot.dll |