Método IPrinterQueue::SendBidiQuery (printerextension.h)
Realiza una operación de actualización asincrónica con la consulta especificada e invoca el método IPrinterQueueEvent::OnBidiResponseReceived .
Sintaxis
HRESULT SendBidiQuery(
[in] BSTR bstrBidiQuery
);
Parámetros
[in] bstrBidiQuery
Consulta especificada.
Valor devuelto
Este método devuelve un valor HRESULT .
Comentarios
Cuando se llama al método SendBidiQuery , genera inmediatamente el evento IPrinterQueueEvent::OnBidiResponseReceived , si hay disponible una respuesta almacenada en caché. A continuación, el sistema de impresión inicia una operación asincrónica para usar las interfaces de comunicación bidi. En este punto , SendBidiQuery devuelve , lo que desbloquea al autor de la llamada. Cuando se completa la operación asincrónica, el sistema de impresión vuelve a generar el evento IPrinterQueueEvent::OnBidiResponseReceived . SendBidiQuery se desacopla de su respuesta asociada a propósito. La desacoplamiento se realiza porque, en el caso de que no haya datos almacenados en caché, la latencia resultante puede deberse a muchos factores y no se puede esperar una respuesta inmediata. Además, el autor de la llamada puede recibir varias respuestas en función de si hay datos almacenados en caché y si hay una respuesta del dispositivo.
El uso de las interfaces de comunicación bidi hace que el monitor de puerto actualice los valores solicitados subyacentes. En el caso de USB, si hay un componente de JavaScript disponible, se invoca el código JavaScript para actualizar los valores solicitados.
La memoria caché también se actualiza en las situaciones siguientes:
En intervalos predeterminados
En el caso de los dispositivos WSD, los datos se actualizan cuando el dispositivo notifica cambios a través de eventos.
En el caso de los dispositivos TCP & USB, el intervalo de actualización se basa en el lugar en el que se define el valor de Bidi.
Todos los valores de Bidi estándar (definidos por los archivos Bidi incrustados del monitor de puerto) se actualizan a intervalos preestablecidos por los monitores de puerto. Si la consulta bidi específica forma parte de la extensión bidi de IHV, el intervalo de actualización se especifica en el archivo de extensión XML para cada valor individual.
Cuando cambia la configuración de la impresora
- Por ejemplo, cuando un dispositivo basado en WSD genera un evento para permitir que el administrador de colas (WSDMon) sepa que ha cambiado algo sobre el dispositivo. En otras palabras, la configuración de la impresora ha cambiado.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 |
Servidor mínimo compatible | Windows Server 2012 |
Plataforma de destino | Escritorio |
Encabezado | printerextension.h |