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.

Hinweise

Wenn die SendBidiQuery-Methode aufgerufen wird, löst sie sofort das IPrinterQueueEvent::OnBidiResponseReceived-Ereignis aus, wenn eine zwischengespeicherte Antwort verfügbar ist. Das Drucksystem startet dann einen asynchronen Vorgang zur Verwendung der Bidi-Kommunikationsschnittstellen. An diesem Punkt wird SendBidiQuery zurückgegeben, wodurch die Blockierung des Aufrufers aufgehoben wird. Wenn der asynchrone Vorgang abgeschlossen ist, löst das Drucksystem das Ereignis IPrinterQueueEvent::OnBidiResponseReceived erneut aus. SendBidiQuery wird absichtlich von der zugeordneten Antwort entkoppelt. Die Entkoppelung erfolgt, da in dem Fall, in dem keine zwischengespeicherten Daten vorhanden sind, die sich daraus ergebende Latenz auf viele Faktoren zurückzuführen ist und eine sofortige Reaktion nicht erwartet werden kann. Darüber hinaus kann der Aufrufer mehrere Antworten erhalten, je nachdem, ob zwischengespeicherte Daten vorhanden sind und ob eine Antwort vom Gerät vorliegt.

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

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.

    • Bei TCP-& USB-Geräten basiert das Aktualisierungsintervall darauf, wo der Bidi-Wert definiert ist.

    • Alle Bidi-Standardwerte (wie in den eingebetteten Bidi-Dateien des Portmonitors definiert) 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 am Gerät geändert hat. Anders ausgedrückt: Die Druckerkonfiguration hat sich geändert.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8
Unterstützte Mindestversion (Server) Windows Server 2012
Zielplattform Desktop
Kopfzeile printerextension.h

Weitere Informationen

Bidi-Kommunikationsschnittstellen

IPrinterQueue

IPrinterQueueEvent::OnBidiResponseReceived