Share via


Metodo IPrintAsyncNotifyCallback::OnEventNotify (prnasnot.h)

Avvisa un listener che una notifica è disponibile in un canale specificato. Questo metodo viene chiamato dal sistema di stampa.

Sintassi

HRESULT OnEventNotify(
  [in] IPrintAsyncNotifyChannel    *pChannel,
  [in] IPrintAsyncNotifyDataObject *pData
);

Parametri

[in] pChannel

Puntatore al canale usato dal mittente e dal listener.

[in] pData

Puntatore all'oggetto contenente i dati di notifica e le relative dimensioni e tipo.

Valore restituito

HRESULT Gravità Significato
S_OK SUCCESS La funzione è stata completata correttamente.
INTERNAL_NOTIFICATION_QUEUE_IS_FULL ERRORE Print Spooler non può contenere altre notifiche in coda. Per impostazione predefinita, la dimensione massima della coda è 10 notifiche. Quando viene restituito questo errore, l'applicazione in ascolto non elabora le notifiche come viene inviata. Questa notifica deve essere reinsediata o eliminata.
 

I valori restituiti sono codici di errore COM. Poiché questa funzione potrebbe completare correttamente l'operazione ma restituisce un HRESULT diverso da S_OK è necessario usare la macro SUCCESSED o FAILED per determinare l'esito positivo della chiamata. Per ottenere il valore HRESULT specifico restituito dalla funzione, usare la macro HRESULT_CODE.

Per altri valori restituiti possibili, vedere PrintAsyncNotifyError .

Per altre informazioni sui codici di errore COM, vedere Gestione degli errori.

Nell'esempio di codice seguente viene illustrato come usare queste macro per valutare il valore restituito.

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 
}

Commenti

Per recapitare una notifica, lo spooler di stampa chiamerà il metodo OnEventNotify dell'oggetto IPrintAsyncNotifyCallback fornito dall'applicazione di ascolto al momento della registrazione per le notifiche. Per le notifiche unidirectionali, pChannel è NULL. Per i canali bidirezionali, pChannel punta a un IPrintAsyncNotifyChannel da usare da un'applicazione in ascolto per inviare una notifica in risposta. Il listener eseguirà questa operazione chiamando il metodo SendNotificationdell'oggetto IPrintAsyncNotifyChannel.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione prnasnot.h
DLL Prnasnot.dll

Vedi anche

Interfacce di notifica di stampa asincrone

Gestione degli errori

IPrintAsyncNotifyCallback

Stampa