IPrintAsyncNotifyCallback::OnEventNotify-Methode (prnasnot.h)
Warnt einen Listener, dass eine Benachrichtigung auf einem angegebenen Kanal verfügbar ist. Diese Methode wird vom Drucksystem aufgerufen.
Syntax
HRESULT OnEventNotify(
[in] IPrintAsyncNotifyChannel *pChannel,
[in] IPrintAsyncNotifyDataObject *pData
);
Parameter
[in] pChannel
Ein Zeiger auf den Kanal, der vom Absender und dem Listener verwendet wird.
[in] pData
Ein Zeiger auf das Objekt, das die Benachrichtigungsdaten sowie dessen Größe und Typ enthält.
Rückgabewert
HRESULT | Schweregrad | Bedeutung |
---|---|---|
S_OK | SUCCESS | Die Funktion wurde erfolgreich abgeschlossen. |
INTERNAL_NOTIFICATION_QUEUE_IS_FULL | ERROR | Der Druckspooler kann keine weiteren Benachrichtigungen in der Warteschlange enthalten. Standardmäßig beträgt die maximale Größe der Warteschlange 10 Benachrichtigungen. Wenn dieser Fehler zurückgegeben wird, verarbeitet die lauschende Anwendung die Benachrichtigungen nicht so schnell wie sie gesendet werden. Diese Benachrichtigung sollte entweder erneut gesendet oder verworfen werden. |
Die Rückgabewerte sind COM-Fehlercodes. Da diese Funktion den Vorgang möglicherweise erfolgreich abgeschlossen hat und dennoch ein anderes HRESULT als S_OK gibt, sollten Sie das Makro SUCCEEDED oder FAILED verwenden, um den Erfolg des Aufrufs zu bestimmen. Verwenden Sie das Makro HRESULT_CODE, um das spezifische HRESULT abzurufen, das von der Funktion zurückgegeben wurde.
Weitere mögliche Rückgabewerte finden Sie unter PrintAsyncNotifyError .
Weitere Informationen zu COM-Fehlercodes finden Sie unter Fehlerbehandlung.
Das folgende Codebeispiel zeigt, wie diese Makros zum Auswerten des Rückgabewerts verwendet werden können.
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
}
Hinweise
Um eine Benachrichtigung zu übermitteln, ruft der Druckspooler die OnEventNotify-Methode des IPrintAsyncNotifyCallback-Objekts auf, das von der lauschenden Anwendung zum Zeitpunkt der Registrierung für Benachrichtigungen bereitgestellt wurde. Bei unidirektionalen Benachrichtigungen ist pChannelNULL. Bei bidirektionalen Kanälen verweist pChannel auf einen IPrintAsyncNotifyChannel , der von einer lauschenden Anwendung zum Senden einer Benachrichtigung als Antwort verwendet wird. Dazu ruft der Listener die SendNotification-Methode von IPrintAsyncNotifyChannel auf.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | prnasnot.h |
DLL | Prnasnot.dll |