Freigeben über


IPrinterQueue::SendBidiQuery-Methode (printerextension.h)

Führt einen asynchronen Aktualisierungsvorgang mit der angegebenen Abfrage aus und ruft die IPrinterQueueEvent::OnBidiResponseReceived-Methode auf.

Syntax

HRESULT SendBidiQuery(
  [in] BSTR bstrBidiQuery
);

Parameter

[in] bstrBidiQuery

Die angegebene Abfrage.

Rückgabewert

Diese Methode gibt einen HRESULT- Wert zurück.

Bemerkungen

Wenn die SendBidiQuery--Methode aufgerufen wird, löst sie sofort den IPrinterQueueEvent::OnBidiResponseReceived-Ereignis aus, wenn eine zwischengespeicherte Antwort verfügbar ist. Das Drucksystem startet dann einen asynchronen Vorgang, um die Bidi Communication Interfaceszu verwenden. An diesem Punkt SendBidiQuery zurück, wodurch die Blockierung des Aufrufers aufgehoben wird. Nach Abschluss des asynchronen Vorgangs löst das Drucksystem das IPrinterQueueEvent::OnBidiResponseReceived Ereignis erneut aus. SendBidiQuery wird von der zugeordneten Antwort zu Zweck entkoppelt. Die Entkoppelung erfolgt, da im Fall, wenn keine zwischengespeicherten Daten vorhanden sind, die resultierende Latenz aufgrund vieler Faktoren verursacht werden kann und eine sofortige Antwort nicht erwartet werden kann. Darüber hinaus empfängt der Anrufer möglicherweise mehrere Antworten basierend darauf, ob zwischengespeicherte Daten vorhanden sind und ob eine Antwort vom Gerät vorhanden ist.

Die Verwendung der Bidi Communication Interfaces bewirkt, dass der Portmonitor die zugrunde liegenden angeforderten Werte aktualisiert. Bei USB wird der JavaScript-Code aufgerufen, um die angeforderten Werte zu aktualisieren, wenn eine JavaScript-Komponente verfügbar ist.

Der Cache wird auch in den folgenden Situationen aktualisiert:

  • In vordefinierten Intervallen

    • Bei WSD-Geräten werden die Daten aktualisiert, wenn das Gerät Änderungen über Ereignisse meldet.

    • Für TCP-& USB-Geräte basiert das Aktualisierungsintervall darauf, wo der Bidi-Wert definiert ist.

    • Alle Standardmäßigen Bidi-Werte (gemäß der Definition durch die eingebetteten Bidi-Dateien des Portmonitors) werden in einem Intervall aktualisiert, das von den Portmonitoren voreingestellt ist. Wenn die spezifische Bidi-Abfrage Teil der IHV Bidi-Erweiterung ist, wird das Aktualisierungsintervall in der XML-Erweiterungsdatei für jeden einzelnen Wert angegeben.

  • Wenn sich die Druckerkonfiguration ändert

    • Wenn beispielsweise ein WSD-basiertes Gerät ein Ereignis auslöst, um den Spooler (WSDMon) darüber zu informieren, dass sich etwas über das Gerät geändert hat. Anders ausgedrückt: Die Druckerkonfiguration hat sich geändert.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 8
mindestens unterstützte Server- Windows Server 2012
Zielplattform- Desktop
Header- printerextension.h

Siehe auch

Bidi Communication Interfaces

IPrinterQueue

IPrinterQueueEvent::OnBidiResponseReceived