Partager via


Méthode IPrintAsyncNotifyCallback ::OnEventNotify (prnasnot.h)

Avertit un écouteur qu’une notification est disponible sur un canal spécifié. Cette méthode est appelée par le système d’impression.

Syntaxe

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

Paramètres

[in] pChannel

Pointeur vers le canal utilisé par l’expéditeur et l’écouteur.

[in] pData

Pointeur vers l’objet qui contient les données de notification, ainsi que sa taille et son type.

Valeur retournée

HRESULT Gravité Signification
S_OK SUCCESS La fonction s’est terminée avec succès.
INTERNAL_NOTIFICATION_QUEUE_IS_FULL ERROR Le spouleur d’impression ne peut pas contenir d’autres notifications en file d’attente. Par défaut, la taille maximale de la file d’attente est de 10 notifications. Lorsque cette erreur est retournée, l’application à l’écoute ne traite pas les notifications aussi rapidement qu’elles sont envoyées. Cette notification doit être renvoyé ou ignorée.
 

Les valeurs retournées sont des codes d’erreur COM. Étant donné que cette fonction peut terminer l’opération avec succès tout en renvoyant 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.

Consultez PrintAsyncNotifyError pour obtenir d’autres valeurs de retour possibles.

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

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

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 
}

Remarques

Pour remettre une notification, le spouleur d’impression appelle la méthode OnEventNotify de l’objet IPrintAsyncNotifyCallback fourni par l’application d’écoute au moment où elle s’est inscrite pour les notifications. Pour les notifications unidirectionnelles, pChannel a la valeur NULL. Pour les canaux bidirectionnels, pChannel pointe vers un IPrintAsyncNotifyChannel à utiliser par une application d’écoute pour envoyer une notification en réponse. Pour ce faire, l’écouteur appelle la méthode SendNotification de IPrintAsyncNotifyChannel.

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
DLL Prnasnot.dll

Voir aussi

Interfaces de notification d’impression asynchrone

Gestion des erreurs

IPrintAsyncNotifyCallback

Impression