Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O POS para .NET suporta totalmente a tecnologia Windows Embedded Plug and Play. Para utilizar esta funcionalidade, os programadores de Objetos de Serviço podem simplesmente adicionar um ou mais HardwareId atributos ao seu código, ou incluir a referência de hardware num ficheiro de configuração XML Plug and Play .
Adicionar este atributo a um Objeto de Serviço ajuda os programadores de aplicações, que agora saberão que, ao usarem PosExplorer para obter uma lista de Objetos de Serviço, qualquer Objeto de Serviço nessa lista estará associado a um dispositivo POS em funcionamento. A aplicação beneficia diretamente desta associação com maior fiabilidade e facilidade de utilização. Recomendamos que os Objetos de Serviço suportem a funcionalidade Plug and Play sempre que possível.
Comportamento de Plug and Play
Depois de o Objeto de Serviço estar associado ao ID de hardware do dispositivo POS, o POS para .NET utiliza o Gestor de Plug and Play do Windows para determinar que dispositivos POS estão ligados ao computador. Não é necessário código adicional pela aplicação ou pelo Objeto de Serviço.
Quando uma aplicação invoca o método PosExplorer.GetDevices, o PosExplorer encontra o dispositivo associado a cada Objeto de Serviço Plug and Play e depois consulta o Gestor Plug and Play do Windows para determinar o estado do dispositivo. Se o dispositivo não estiver disponível, não será adicionado à lista de dispositivos que é devolvida à aplicação pelo PosExplorer.GetDevices.
Filtragem de Objetos de Serviço PosExplorer
O PosExplorer consegue filtrar eficazmente a lista de Objetos de Serviço Plug and Play quando a aplicação chama o PosExplorer.GetDevices. O processo de filtragem funciona da seguinte forma:
- Pesquisa por todas as assemblies no POS especificado para diretórios .NET.
- Se a montagem não estiver marcada com o atributo global PosAssembly , descarta-o.
- Pesquisas por classes assinaladas com o
ServiceObjectatributo. Para cada uma dessas classes:- Procura um ID de hardware associado a esta classe, seja como atributo
HardwareIdou no ficheiro de configuração XML Plug and Play. Se não houver ID de hardware, deixa o Objeto de Serviço na lista do PosExplorer . - Se houver um ID de hardware, então consulta o Windows para recuperar o estado do dispositivo. Se o dispositivo estiver ligado ao computador, deixa-o na lista do PosExplorer .
- Se o dispositivo não estiver ligado ao computador, remove-o da lista do PosExplorer .
- Procura um ID de hardware associado a esta classe, seja como atributo
Example
O exemplo de código seguinte demonstra um método simples para lidar com eventos Plug and Play. A informação gerada pelo PosExplorer é usada para instanciar o dispositivo correto, neste caso um Leitor de Banda Magnética (MSR).
// Connect the Plug and Play events to detect the removal or
// connection of a new device.
explorer.DeviceAddedEvent += new
DeviceChangedEventHandler(explorer_DeviceAddedEvent);
explorer.DeviceRemovedEvent += new
DeviceChangedEventHandler(explorer_DeviceRemovedEvent);
// This event handler extends Plug and Play functionality to the MSR
// device type. A message is printed to the console if the connection
// is successful.
void explorer_DeviceAddedEvent(object sender, DeviceChangedEventArgs e)
{
// Checks if the newly added device is an MSR.
if (e.Device.Type == DeviceType.Msr)
{
// Checks if an MSR instance has already been created and,
// if not,creates one. If a new MSR instance is created, its
// name is recorded in a string and written to the console.
// Once the printing is finished, the MSR is closed.
if (msr == null)
{
CreateMsr(e.Device);
strMsrConfig = e.Device.ServiceObjectName;
Console.WriteLine(strMsrConfig);
// It is important that applications close all open
// Service Objects before terminating.
msr.Close();
}
}
}
Ver também
Tasks
Reference
Conceitos
- Atributos para Identificação de Objetos de Serviço e Atribuição de Hardware
- POS para Configurações do Registo .NET
- Configuração XML Plug and Play