Freigeben über


UnRegisterForPrintAsyncNotifications-Funktion (prnasnot.h)

Ermöglicht einer registrierten Anwendung, Benachrichtigungen von druckspoolergehosteten Druckkomponenten zu empfangen, um die Registrierung aufzuheben.

Syntax

HRESULT UnRegisterForPrintAsyncNotifications(
  [in] HANDLE unnamedParam1
);

Parameter

[in] unnamedParam1

Das Registrierungshandle, das die Registrierung aufheben soll.

Rückgabewert

HRESULT Schweregrad Bedeutung
S_OK SUCCESS Die Funktion wurde erfolgreich abgeschlossen.
ALREADY_UNREGISTERED SUCCESS

ERROR

Die Registrierung des Registrierungshandlers wurde bereits aufgehoben. Wenn dieses HRESULT den Fehlerschweregrad aufweist, sollte die aufrufende Funktion die Fehlerbedingung behandeln.
NOT_REGISTERED SUCCESS Der Registrierungshandler wurde nicht registriert.
 

Die Rückgabewerte sind COM-Fehlercodes. Da diese Funktion den Vorgang möglicherweise erfolgreich abgeschlossen hat, aber ein anderes HRESULT als S_OK sollten Sie das Makro SUCCEEDED oder FAILED verwenden, um den Erfolg des Aufrufs zu bestimmen. Um das spezifische HRESULT abzurufen, das von der Funktion zurückgegeben wurde, verwenden Sie das makro HRESULT_CODE.

Das folgende Codebeispiel zeigt, wie diese Makros verwendet werden können, um den Rückgabewert auszuwerten.

if (SUCCEEDED(hr)) {
  // Call succeeded, check HRESULT value returned
  switch (HRESULT_CODE(hr)){
    case S_OK:
      // Some action 
      break;
    case NOT_REGISTERED:
      // Some action 
      break;
    case ALREADY_UNREGISTERED:
      // Some action 
      break;
    default:
      // Default action 
      break;
  }
} else {
  // Call failed, check HRESULT value returned
  switch (HRESULT_CODE(hr)){
    // This can be error and a successful return
    case ALREADY_UNREGISTERED:
      // Some action 
      break;
    default:
      // Default action 
      break;
  }
}

Weitere Informationen zu COM-Fehlercodes finden Sie unter Fehlerbehandlung.

Weitere mögliche Rückgabewerte finden Sie unter PrintAsyncNotifyError .

Hinweise

Hinweis Dies ist eine blockierende oder synchrone Funktion, die möglicherweise nicht sofort zurückgegeben wird. Wie schnell diese Funktion zurückgibt, hängt von Laufzeitfaktoren wie Netzwerk-status, Druckerserverkonfiguration und Druckertreiberimplementierung ab– Faktoren, die beim Schreiben einer Anwendung schwer vorherzusagen sind. Das Aufrufen dieser Funktion aus einem Thread, der die Interaktion mit der Benutzeroberfläche verwaltet, könnte dazu führen, dass die Anwendung nicht mehr reagiert.
 
Ein Aufruf von RegisterForPrintAsyncNotifications muss hRegistrationHandler zurückgeben.

Wenn der Kanal bidirektional ist, verhindert ein Aufruf von UnRegisterForPrintAsyncNotifications nur Benachrichtigungen von Kommunikationskanälen, die nach diesem Punkt erstellt wurden. Um Benachrichtigungen aus dem vorhandenen Kanal zu beenden, muss die lauschende Anwendung den Kanal mit IPrintAsyncNotifyChannel::CloseChannel schließen.

Ein Aufruf von UnRegisterForPrintAsyncNotifications verringert die Verweisanzahl des an RegisterForPrintAsyncNotifications übergebenenpCallback-Objekts.

Nachdem diese Funktion erfolgreich ausgeführt wurde, ist hRegistrationHandler ungültig und darf nicht erneut verwendet werden.

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
Bibliothek WinSpool.lib
DLL Spoolss.dll

Weitere Informationen

Druckspooler-API-Funktionen

Drucken