Condividi tramite


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

Vedere anche

interfacce di comunicazione Bidi

IPrinterQueue

IPrinterQueueEvent::OnBidiResponseReceived