Compartir a través de


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

Consulte también

Interfaces de notificación de impresión asincrónica

Tratamiento de errores

IPrintAsyncNotifyCallback

Impresión