Método IPrintAsyncNotifyCallback::OnEventNotify (prnasnot.h)

Alerta a un agente de escucha que una notificación está disponible en un canal especificado. El sistema de impresión llama a este método.

Sintaxis

HRESULT OnEventNotify(
  [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 y su tamaño y tipo.

Valor devuelto

HRESULT severity Significado
S_OK CORRECTA Si se devuelve este valor, significa que la función se completó correctamente.
INTERNAL_NOTIFICATION_QUEUE_IS_FULL ERROR Print Spooler no puede contener más notificaciones en cola. De forma predeterminada, el tamaño máximo de la cola es de 10 notificaciones. Cuando se devuelve este error, la aplicación de escucha no procesa las notificaciones tan rápido como se envían. Esta notificación debe ser reentrada o descartada.
 

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 INTERNAL_NOTIFICATION_QUEUE_IS_FULL:
      // Some action 
      break;
    default:
      // Default action 
      break;
  }
} else {
  // Call succeeded 
}

Comentarios

Para entregar una notificación, el administrador de trabajos de impresión llamará al método OnEventNotify del objeto IPrintAsyncNotifyCallback proporcionado por la aplicación de escucha en el momento en que registró para las notificaciones. Para las notificaciones unidireccionales, pChannel es NULL. En el caso de los canales bidireccionales, pChannel apunta a un IPrintAsyncNotifyChannel que una aplicación de escucha usará para enviar una notificación en respuesta. El agente de escucha lo hará llamando al método SendNotification del IPrintAsyncNotifyChannel.

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