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 |
関連項目
IPrinterQueue の