IPrinterQueue::SendBidiQuery 方法 (printerextension.h)

使用指定的查詢執行異步重新整理作業,並叫用 IPrinterQueueEvent::OnBidiResponseReceived 方法。

語法

HRESULT SendBidiQuery(
  [in] BSTR bstrBidiQuery
);

參數

[in] bstrBidiQuery

指定的查詢。

傳回值

這個方法會傳回 HRESULT 值。

備註

呼叫 SendBidiQuery 方法時,如果有可用的快取回應,它會立即引發 IPrinterQueueEvent::OnBidiResponseReceived 事件。 列印系統接著會啟動異步操作,以使用 Bidi 通訊介面。 此時 SendBidiQuery 會傳回 ,因此解除封鎖呼叫端。 異步操作完成時,列印系統會再次引發 IPrinterQueueEvent::OnBidiResponseReceived 事件。 SendBidiQuery 會根據目的與相關聯的響應分離。 分離已完成,因為在沒有快取數據的情況下,產生的延遲可能是因為許多因素所造成,而且無法預期立即回應。 此外,呼叫端可能會根據是否有快取的數據,以及是否有來自裝置的回應,接收多個回應。

使用 Bidi 通訊介面 會導致埠監視器重新整理基礎要求的值。 如果是USB,如果有JavaScript元件可用,則會叫用JavaScript程式碼以重新整理要求的值。

下列情況也會更新快取:

  • 預先決定的間隔

    • 若為 WSD 裝置,當裝置報告透過事件變更時,就會更新數據。

    • 對於 TCP & USB 裝置,重新整理間隔是根據定義 Bidi 值的位置。

    • 埠監視器內嵌的 Bidi) 檔案所定義的所有標準 Bidi 值 (都會以埠監視器預設的間隔重新整理。 如果特定的 Bidi 查詢是 IHV Bidi 延伸模組的一部分,則會在每個個別值的 XML 延伸模組檔案中指定重新整理間隔。

  • 印表機設定變更時

    • 例如,當 WSD 型裝置引發事件,讓多任務緩衝處理程式 (WSDMon) 知道裝置的相關專案已變更。 換句話說,列印機組態已變更。

規格需求

需求
最低支援的用戶端 Windows 8
最低支援的伺服器 Windows Server 2012
目標平台 桌面
標頭 printerextension.h

另請參閱

Bidi 通訊介面

IPrinterQueue

IPrinterQueueEvent::OnBidiResponseReceived