Metodo IPrinterQueue::SendBidiQuery (printerextension.h)
Esegue un'operazione di aggiornamento asincrona con la query specificata e richiama il metodo IPrinterQueueEvent::OnBidiResponseReceived.
Sintassi
HRESULT SendBidiQuery(
[in] BSTR bstrBidiQuery
);
Parametri
[in] bstrBidiQuery
Query specificata.
Valore restituito
Questo metodo restituisce un valore HRESULT.
Osservazioni
Quando viene chiamato il metodo SendBidiQuery, genera immediatamente l'evento IPrinterQueueEvent::OnBidiResponseReceived, se è disponibile una risposta memorizzata nella cache. Il sistema di stampa avvia quindi un'operazione asincrona per usare le interfacce di comunicazione Bidi. A questo punto SendBidiQuery restituisce, sbloccando così il chiamante. Al termine dell'operazione asincrona, il sistema di stampa genera nuovamente l'evento IPrinterQueueEvent::OnBidiResponseReceived. SendBidiQuery viene separato dalla risposta associata. Il disaccoppiamento viene eseguito perché, nel caso in cui non siano presenti dati memorizzati nella cache, la latenza risultante può essere dovuta a molti fattori e non è possibile prevedere una risposta immediata. Inoltre, il chiamante può ricevere più risposte in base alla presenza di dati memorizzati nella cache e se è presente una risposta dal dispositivo.
L'uso delle interfacce di comunicazione Bidi fa sì che il monitoraggio delle porte aggiorni i valori richiesti sottostanti. Nel caso di USB, se è disponibile un componente JavaScript, viene richiamato il codice JavaScript per aggiornare i valori richiesti.
La cache viene aggiornata anche nelle situazioni seguenti:
A intervalli predeterminati
Per i dispositivi WSD i dati vengono aggiornati quando il dispositivo segnala modifiche tramite eventi.
Per i dispositivi USB & TCP, l'intervallo di aggiornamento si basa sulla posizione in cui è definito il valore Bidi.
Tutti i valori Bidi standard (come definito dai file Bidi incorporati del monitor delle porte) vengono aggiornati a un intervallo preimpostato dai monitor delle porte. Se la query Bidi specifica fa parte dell'estensione Bidi IHV, l'intervallo di aggiornamento viene specificato nel file di estensione XML per ogni singolo valore.
Quando cambia la configurazione della stampante
- Ad esempio, quando un dispositivo basato su WSD genera un evento per informare lo spooler (WSDMon) che qualcosa sul dispositivo è cambiato. In altre parole, la configurazione della stampante è cambiata.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 8 |
server minimo supportato | Windows Server 2012 |
piattaforma di destinazione | Desktop |
intestazione | printerextension.h |