共用方式為


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 Extension 的一部分,則會在每個個別值的 XML 延伸模組檔案中指定重新整理間隔。

  • 印表機設定變更時

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

要求

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

另請參閱

Bidi 通訊介面

IPrinterQueue

IPrinterQueueEvent::OnBidiResponseReceived