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 .

Commenti

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, quindi sbloccando il chiamante. Al termine dell'operazione asincrona, il sistema di stampa genera nuovamente l'evento IPrinterQueueEvent::OnBidiResponseReceived . SendBidiQuery è disaccoppiato dalla risposta associata a scopo. La disaccoppiamento viene eseguita perché, nel caso in cui non siano presenti dati memorizzati nella cache, la latenza risultante può essere dovuta a molti fattori e una risposta immediata non può essere prevista. 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 causa l'aggiornamento dei valori richiesti sottostanti da parte del monitoraggio della porta. 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 TCP & USB 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 della porta) vengono aggiornati a intervalli preimpostazioni dai monitoraggi delle porte. Se la query Bidi specifica fa parte dell'estensione IHV Bidi, l'intervallo di aggiornamento viene specificato nel file di estensione XML per ogni singolo valore.

  • Quando la configurazione della stampante cambia

    • Ad esempio, quando un dispositivo basato su WSD genera un evento per consentire al spooler (WSDMon) di sapere che qualcosa sul dispositivo è cambiato. In altre parole, la configurazione della stampante è stata modificata.

Requisiti

Requisito Valore
Client minimo supportato Windows 8
Server minimo supportato Windows Server 2012
Piattaforma di destinazione Desktop
Intestazione printerextension.h

Vedi anche

Interfacce di comunicazione Bidi

IPrinterQueue

IPrinterQueueEvent::OnBidiResponseReceived