Compartilhar via


Suporte a Plug and Play (POS para documentação do SDK do .NET v1.14)

O POS para .NET dá suporte completo à tecnologia Windows Embedded Plug and Play. Para utilizar esse recurso, os desenvolvedores do Objeto de Serviço podem simplesmente adicionar um ou mais HardwareId atributos ao código ou incluir a referência de hardware em um arquivo de configuração XML Plug and Play .

Adicionar esse atributo a um Objeto de Serviço ajuda os desenvolvedores de aplicativos, que agora saberão que, quando usarem PosExplorer para obter uma lista de Objetos de Serviço, qualquer objeto de serviço nessa lista será associado a um dispositivo POS em funcionamento. O aplicativo se beneficia diretamente dessa associação por maior confiabilidade e facilidade de uso. Recomendamos que os Objetos de Serviço ofereçam suporte ao recurso Plug and Play sempre que possível.

Comportamento plug-and-play

Depois que o Objeto de Serviço tiver sido associado à ID de hardware do dispositivo POS, o POS para .NET usará o Windows Plug and Play Manager para determinar quais dispositivos POS estão conectados ao computador. Nenhum código adicional é exigido pelo aplicativo ou objeto de serviço.

Quando um aplicativo invoca o método PosExplorer.GetDevices, PosExplorer localiza o dispositivo associado a cada Objeto de Serviço Plug and Play e consulta o Windows Plug and Play Manager para determinar o status do dispositivo. Se o dispositivo não estiver disponível, ele não será adicionado à lista de dispositivos retornada ao aplicativo de PosExplorer.GetDevices.

Filtragem de Objeto de Serviço do PosExplorer

PosExplorer é capaz de filtrar efetivamente a lista de Objetos de Serviço Plug and Play quando o aplicativo chama PosExplorer.GetDevices. O processo de filtragem funciona da seguinte maneira:

  1. Pesquisa todos os assemblies em diretórios .NET especificados no POS.
  2. Se a montagem não estiver marcada com o atributo global PosAssembly, descarte-a.
  3. Pesquisa classes marcadas com o ServiceObject atributo. Para cada classe:
    1. Procura uma ID de hardware associada a essa classe, como um HardwareId atributo ou dentro do arquivo de Configuração XML Plug and Play . Se não houver nenhuma ID de hardware, deixe o Objeto de Serviço na lista PosExplorer .
    2. Se houver uma ID de hardware, consulte o Windows para recuperar o status do dispositivo. Se o dispositivo estiver anexado ao computador, deixe-o na lista PosExplorer.
    3. Se o dispositivo não estiver anexado ao computador, remova-o da lista PosExplorer .

Example

O exemplo de código a seguir demonstra um método simples de manipulação de eventos Plug and Play. As informações geradas por PosExplorer são usadas para instanciar o dispositivo correto, nesse caso, um MSR (Leitor de Listra Magnética).

// 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();
      }
   }
}

Consulte Também

Tasks

Referência

Conceitos

Outros recursos