Método IPrinterQueue::SendBidiQuery (printerextension.h)
Executa uma operação de atualização assíncrona com a consulta especificada e invoca o método IPrinterQueueEvent::OnBidiResponseReceived .
Sintaxe
HRESULT SendBidiQuery(
[in] BSTR bstrBidiQuery
);
Parâmetros
[in] bstrBidiQuery
A consulta especificada.
Retornar valor
Esse método retorna um valor HRESULT .
Comentários
Quando o método SendBidiQuery é chamado, ele aciona imediatamente o evento IPrinterQueueEvent::OnBidiResponseReceived , se houver uma resposta armazenada em cache disponível. Em seguida, o sistema de impressão inicia uma operação assíncrona para usar as Interfaces de Comunicação Bidi. Neste ponto , SendBidiQuery retorna, desbloqueando o chamador. Quando a operação assíncrona é concluída, o sistema de impressão aciona o evento IPrinterQueueEvent::OnBidiResponseReceived novamente. SendBidiQuery é dissociado de sua resposta associada de propósito. A desacoplamento é feita porque, no caso em que não há dados armazenados em cache, a latência resultante pode ser devido a muitos fatores e uma resposta imediata não pode ser esperada. Além disso, o chamador pode receber várias respostas com base em se há dados armazenados em cache e se há uma resposta do dispositivo.
O uso das Interfaces de Comunicação Bidi faz com que o monitor de porta atualize os valores solicitados subjacentes. No caso de USB, se um componente JavaScript estiver disponível, o código JavaScript será invocado para atualizar os valores solicitados.
O cache também é atualizado nas seguintes situações:
Em intervalos predeterminados
Para dispositivos WSD, os dados são atualizados quando o dispositivo relata alterações por meio de eventos.
Para dispositivos TCP & USB, o intervalo de atualização é baseado no local em que o valor bidi é definido.
Todos os valores Bidi padrão (conforme definido pelos arquivos Bidi inseridos do monitor de porta) são atualizados em um intervalo predefinido pelos monitores de porta. Se a Consulta Bidi específica fizer parte da Extensão Bidi IHV, o intervalo de atualização será especificado no arquivo de extensão XML para cada valor individual.
Quando a configuração da impressora é alterada
- Por exemplo, quando um dispositivo baseado em WSD gera um evento para permitir que o spooler (WSDMon) saiba que algo sobre o dispositivo foi alterado. Em outras palavras, a configuração da impressora foi alterada.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 |
Servidor mínimo com suporte | Windows Server 2012 |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | printerextension.h |