Метод IPrinterQueue::SendBidiQuery (printerextension.h)
Выполняет асинхронную операцию обновления с указанным запросом и вызывает метод IPrinterQueueEvent::OnBidiResponseReceived.
Синтаксис
HRESULT SendBidiQuery(
[in] BSTR bstrBidiQuery
);
Параметры
[in] bstrBidiQuery
Указанный запрос.
Возвращаемое значение
Этот метод возвращает значение HRESULT.
Замечания
Когда вызывается метод sendBidiQuery SendBidiQuery, он немедленно вызывает событие IPrinterQueueEvent::OnBidiResponseReceived событие, если есть кэшированный ответ. Затем система печати запускает асинхронную операцию для использования интерфейсов связи Bidi. На этом этапе возвращается SendBidiQuery, таким образом разблокируя вызывающий объект. После завершения асинхронной операции система печати снова вызывает событие IPrinterQueueEvent::OnBidiResponseReceived. SendBidiQuery отделяется от связанного ответа по назначению. Разделение выполняется, так как в случае отсутствия кэшированных данных результирующая задержка может быть вызвана многими факторами, и немедленный ответ не может быть ожидаемым. Кроме того, вызывающий объект может получать несколько ответов на основе того, есть ли кэшированные данные и есть ли ответ от устройства.
Использование интерфейсов связи Bidi приводит к обновлению базовых запрошенных значений монитора портов. В случае USB, если компонент JavaScript доступен, код JavaScript вызывается для обновления запрошенных значений.
Кэш также обновляется в следующих ситуациях:
С предопределенными интервалами
Для устройств WSD данные обновляются, когда устройство сообщает об изменениях с помощью событий.
Для USB-устройств TCP & интервал обновления зависит от того, где определено значение Bidi.
Все стандартные значения Bidi (как определено внедренными файлами Bidi монитора портов) обновляются через интервал, предустановленный мониторами портов. Если конкретный запрос Bidi является частью расширения IHV Bidi, интервал обновления указывается в XML-файле расширения для каждого отдельного значения.
При изменении конфигурации принтера
- Например, когда устройство на основе WSD вызывает событие, чтобы разрешить spooler (WSDMon) знать, что что-то о устройстве изменилось. Другими словами, конфигурация принтера изменилась.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 8 |
минимальный поддерживаемый сервер | Windows Server 2012 |
целевая платформа | Настольный |
заголовка | printerextension.h |