Partager via


IPrinterQueue ::SendBidiQuery, méthode (printerextension.h)

Effectue une opération d’actualisation asynchrone avec la requête spécifiée et appelle la méthode IPrinterQueueEvent ::OnBidiResponseReceived.

Syntaxe

HRESULT SendBidiQuery(
  [in] BSTR bstrBidiQuery
);

Paramètres

[in] bstrBidiQuery

Requête spécifiée.

Valeur de retour

Cette méthode retourne une valeur HRESULT.

Remarques

Lorsque la méthode SendBidiQuery est appelée, elle déclenche immédiatement l’événement IPrinterQueueEvent ::OnBidiResponseReceived, s’il existe une réponse mise en cache disponible. Le système d’impression démarre ensuite une opération asynchrone pour utiliser les interfaces de communication Bidi . À ce stade SendBidiQuery retourne, débloquant ainsi l’appelant. Une fois l’opération asynchrone terminée, le système d’impression déclenche à nouveau l’événement IPrinterQueueEvent ::OnBidiResponseReceived. sendBidiQuery est découplé de sa réponse associée à des fins. Le découplage est effectué car, dans le cas où il n’y a pas de données mises en cache, la latence résultante peut être due à de nombreux facteurs et une réponse immédiate ne peut pas être attendue. En outre, l’appelant peut recevoir plusieurs réponses en fonction de la présence de données mises en cache et de la réponse de l’appareil.

L’utilisation des interfaces de communication Bidi entraîne l’actualisation du moniteur de port pour actualiser les valeurs demandées sous-jacentes. Dans le cas d’USB, si un composant JavaScript est disponible, le code JavaScript est appelé pour actualiser les valeurs demandées.

Le cache est également mis à jour dans les situations suivantes :

  • À intervalles prédéterminés

    • Pour les appareils WSD, les données sont mises à jour lorsque l’appareil signale des modifications par le biais d’événements.

    • Pour les périphériques TCP & USB, l’intervalle d’actualisation est basé sur l’emplacement où la valeur Bidi est définie.

    • Toutes les valeurs Bidi standard (telles que définies par les fichiers Bidi incorporés du moniteur de port) sont actualisées à un intervalle prédéfini par les moniteurs de port. Si la requête Bidi spécifique fait partie de l’extension Bidi IHV, l’intervalle d’actualisation est spécifié dans le fichier d’extension XML pour chaque valeur individuelle.

  • Lorsque la configuration de l’imprimante change

    • Par exemple, lorsqu’un appareil WSD déclenche un événement pour informer le spouleur (WSDMon) que quelque chose sur l’appareil a changé. En d’autres termes, la configuration de l’imprimante a changé.

Exigences

Exigence Valeur
client minimum pris en charge Windows 8
serveur minimum pris en charge Windows Server 2012
plateforme cible Bureau
d’en-tête printerextension.h

Voir aussi

interfaces de communication Bidi

IPrinterQueue

IPrinterQueueEvent ::OnBidiResponseReceived