Метод 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 |