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 |