Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
POS para .NET es totalmente compatible con la tecnología Windows Embedded Plug and Play. Para usar esta característica, los desarrolladores de objetos de servicio simplemente pueden agregar uno o varios HardwareId atributos a su código, o incluir la referencia de hardware en un archivo de configuración XML plug and play .
Agregar este atributo a un objeto de servicio ayuda a los desarrolladores de aplicaciones, que ahora sabrán que cuando usan PosExplorer para obtener una lista de objetos de servicio, cualquier objeto de servicio de esa lista se asociará con un dispositivo pos funcional. La aplicación se beneficia directamente de esta asociación mediante una mayor confiabilidad y facilidad de uso. Se recomienda que Los objetos de servicio admitan la característica Plug and Play siempre que sea posible.
Comportamiento de Plug and Play
Una vez que el objeto de servicio se ha asociado con el identificador de hardware del dispositivo POS, POS para .NET usa el Administrador de Windows Plug and Play para determinar qué dispositivos POS están conectados al equipo. La aplicación o el objeto de servicio no requieren ningún código adicional.
Cuando una aplicación invoca el método PosExplorer.GetDevices, PosExplorer busca el dispositivo asociado a cada objeto de servicio Plug and Play y, a continuación, consulta el Administrador de Windows Plug and Play para determinar el estado del dispositivo. Si el dispositivo no está disponible, no se agregará a la lista de dispositivos que se devuelve a la aplicación desde PosExplorer.GetDevices.
Filtrado de objetos de servicio PosExplorer
PosExplorer puede filtrar eficazmente la lista de objetos del servicio Plug and Play cuando la aplicación llama a PosExplorer.GetDevices. El proceso de filtrado funciona de la siguiente manera:
- Busca todos los ensamblados en el POS especificado para los directorios de .NET.
- Si el ensamblado no está marcado con el atributo global PosAssembly , lo descarta.
- Busca clases marcadas con el
ServiceObjectatributo . Para cada clase de este tipo:- Busca un identificador de hardware asociado a esta clase, como un
HardwareIdatributo o dentro del archivo de configuración XML plug and play . Si no hay ningún identificador de hardware, deja el objeto de servicio en la lista PosExplorer . - Si hay un identificador de hardware, consulta Windows para recuperar el estado del dispositivo. Si el dispositivo está conectado al equipo, lo deja en la lista PosExplorer .
- Si el dispositivo no está conectado al equipo, lo quita de la lista PosExplorer .
- Busca un identificador de hardware asociado a esta clase, como un
Example
En el ejemplo de código siguiente se muestra un método sencillo de control de eventos plug and Play. La información generada por PosExplorer se usa para crear instancias del dispositivo correcto, en este caso un Lector de bandas magnéticas (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();
}
}
}
Véase también
Tasks
Referencia
Conceptos
- Atributos para identificar objetos de servicio y asignar hardware
- POS para la configuración del Registro de .NET
- Configuración XML de Plug and Play