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 de HRESULT.
Observaciones
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 genera de nuevo 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 de Bidi hace que el monitor de puerto actualice los valores solicitados subyacentes. En el caso de USB, si hay disponible un componente de JavaScript, 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 informa de los cambios a través de eventos.
Para TCP & dispositivos USB, el intervalo de actualización se basa en dónde se define el valor bidi.
Todos los valores 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. Es decir, la configuración de la impresora ha cambiado.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 8 |
servidor mínimo admitido | Windows Server 2012 |
de la plataforma de destino de | Escritorio |
encabezado de | printerextension.h |