Método IPrintAsyncNotifyCallback::OnEventNotify (prnasnot.h)
Alerta um ouvinte de que uma notificação está disponível em um canal especificado. Esse método é chamado pelo sistema de impressão.
Sintaxe
HRESULT OnEventNotify(
[in] IPrintAsyncNotifyChannel *pChannel,
[in] IPrintAsyncNotifyDataObject *pData
);
Parâmetros
[in] pChannel
Um ponteiro para o canal usado pelo remetente e pelo ouvinte.
[in] pData
Um ponteiro para o objeto que contém os dados de notificação e seu tamanho e tipo.
Retornar valor
HRESULT | Severidade | Significado |
---|---|---|
S_OK | SUCCESS | A função foi concluída com êxito. |
INTERNAL_NOTIFICATION_QUEUE_IS_FULL | ERROR | O Spooler de Impressão não pode conter mais notificações enfileiradas. Por padrão, o tamanho máximo da fila é de 10 notificações. Quando esse erro é retornado, o aplicativo de escuta não está processando as notificações tão rápido quanto elas estão sendo enviadas. Essa notificação deve ser reenviada ou descartada. |
Os valores retornados são códigos de erro COM. Como essa função pode concluir a operação com êxito, mas retornar um HRESULT diferente de S_OK você deve usar a macro SUCCEEDED ou FAILED para determinar o sucesso da chamada. Para obter o HRESULT específico que foi retornado pela função , use a macro HRESULT_CODE.
Consulte PrintAsyncNotifyError para obter outros valores retornados possíveis.
Para obter mais informações sobre códigos de erro do COM, confira Tratamento de erros.
O exemplo de código a seguir mostra como essas macros podem ser usadas para avaliar o valor retornado.
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
}
Comentários
Para entregar uma notificação, o spooler de impressão chamará o método OnEventNotify do objeto IPrintAsyncNotifyCallback fornecido pelo aplicativo ouvinte no momento em que ele se registrou para notificações. Para notificações unidirecionais, pChannel é NULL. Para canais bidirecionais, pChannel aponta para um IPrintAsyncNotifyChannel a ser usado por um aplicativo de escuta para enviar uma notificação em resposta. O ouvinte fará isso chamando o método SendNotification do IPrintAsyncNotifyChannel.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | prnasnot.h |
DLL | Prnasnot.dll |