Partager via


UnRegisterForPrintAsyncNotifications, fonction (prnasnot.h)

Permet à une application inscrite de recevoir des notifications des composants d’impression hébergés par le spouleur d’impression de désinscrire.

Syntaxe

HRESULT UnRegisterForPrintAsyncNotifications(
  [in] HANDLE unnamedParam1
);

Paramètres

[in] unnamedParam1

Handle d’inscription à désinscrire.

Valeur retournée

HRESULT Gravité Signification
S_OK SUCCESS La fonction s’est terminée avec succès.
ALREADY_UNREGISTERED SUCCESS

ERROR

Le gestionnaire d’inscription a déjà été désinscrit. Si ce HRESULT présente une gravité ERROR, la fonction appelante doit gérer la condition d’erreur.
NOT_REGISTERED SUCCESS Le gestionnaire d’inscription n’a pas été inscrit.
 

Les valeurs renvoyées sont des codes d’erreur COM. Étant donné que cette fonction peut terminer l’opération correctement et retourner un HRESULT autre que S_OK vous devez utiliser la macro SUCCEEDED ou FAILED pour déterminer la réussite de l’appel. Pour obtenir le HRESULT spécifique retourné par la fonction, utilisez la macro HRESULT_CODE.

L’exemple de code suivant montre comment ces macros peuvent être utilisées pour évaluer la valeur de retour.

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;
  }
}

Pour plus d’informations sur les codes d’erreur COM, consultez Gestion des erreurs.

Consultez PrintAsyncNotifyError pour connaître les autres valeurs de retour possibles.

Remarques

Note Il s’agit d’une fonction bloquante ou synchrone qui peut ne pas être retournée immédiatement. La rapidité avec laquelle cette fonction retourne dépend de facteurs d’exécution tels que l’status réseau, la configuration du serveur d’impression et l’implémentation du pilote d’imprimante, facteurs difficiles à prédire lors de l’écriture d’une application. L’appel de cette fonction à partir d’un thread qui gère l’interaction avec l’interface utilisateur peut donner l’impression que l’application ne répond pas.
 
Un appel à RegisterForPrintAsyncNotifications doit retourner hRegistrationHandler.

Si le canal est bidirectionnel, un appel à UnRegisterForPrintAsyncNotifications empêche uniquement les notifications des canaux de communication créés après ce point. Pour mettre fin aux notifications du canal existant, l’application d’écoute doit fermer le canal avec IPrintAsyncNotifyChannel ::CloseChannel.

Un appel à UnRegisterForPrintAsyncNotifications décrémente le nombre de références de l’objet pCallback passé à RegisterForPrintAsyncNotifications.

Une fois cette fonction réussie, hRegistrationHandler n’est pas valide et ne doit plus être utilisé.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête prnasnot.h
Bibliothèque WinSpool.lib
DLL Spoolss.dll

Voir aussi

Fonctions API du spouleur d’impression

Impression