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 |