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 |