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 |