Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
POS pour .NET prend entièrement en charge la technologie Windows Embedded Plug-and-Play. Pour utiliser cette fonctionnalité, les développeurs d’objets de service peuvent simplement ajouter un ou plusieurs HardwareId attributs à leur code, ou inclure la référence matérielle dans un fichier de configuration XML Plug-and-Play .
L’ajout de cet attribut à un objet de service aide les développeurs d’applications, qui savent maintenant que lorsqu’ils utilisent PosExplorer pour obtenir une liste d’objets de service, tout objet de service de cette liste sera associé à un appareil de point de vente fonctionnel. L’application bénéficie directement de cette association en améliorant la fiabilité et la facilité d’utilisation. Nous recommandons que les objets de service prennent en charge la fonctionnalité Plug and Play dans la mesure du possible.
Comportement Plug and Play
Une fois que l’objet de service a été associé à l’ID matériel de l’appareil POS, le point de vente pour .NET utilise le Gestionnaire Windows Plug-and-Play pour déterminer quels appareils de point de vente sont connectés à l’ordinateur. Aucun code supplémentaire n’est requis par l’application ou l’objet de service.
Lorsqu’une application appelle la méthode PosExplorer.GetDevices, PosExplorer recherche l’appareil associé à chaque objet de service Plug-and-Play, puis interroge le Gestionnaire Windows Plug-and-Play pour déterminer l’état de l’appareil. Si l’appareil n’est pas disponible, il n’est pas ajouté à la liste des appareils qui est retournée à l’application à partir de PosExplorer.GetDevices.
Filtrage d’objets du service PosExplorer
PosExplorer est en mesure de filtrer efficacement la liste des objets Plug-and-Play Service lorsque l’application appelle PosExplorer.GetDevices. Le processus de filtrage fonctionne comme suit :
- Recherche toutes les assemblées dans les répertoires .NET spécifiés pour les POS.
- Si l’assemblage n’est pas marqué avec l’attribut global PosAssembly, il est rejeté.
- Recherche les classes marquées avec l’attribut
ServiceObject. Pour chaque classe de ce type :- Recherche un ID matériel associé à cette classe, en tant qu’attribut
HardwareIdou dans le fichier de configuration XML Plug-and-Play . S’il n’existe aucun ID matériel, laisse l’objet de service dans la liste PosExplorer . - S’il existe un ID matériel, interroge Windows pour récupérer l’état de l’appareil. Si l’appareil est attaché à l’ordinateur, laisse-le dans la liste PosExplorer.
- Si l’appareil n’est pas attaché à l’ordinateur, supprime-le de la liste PosExplorer .
- Recherche un ID matériel associé à cette classe, en tant qu’attribut
Example
L’exemple de code suivant illustre une méthode simple de gestion des événements Plug-and-Play. Les informations générées par PosExplorer sont utilisées pour instancier l’appareil approprié, dans ce cas un lecteur de bande magnétique (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();
}
}
}
Voir aussi
Tasks
Reference
Les concepts
- Attributs permettant d’identifier les objets de service et d’affecter du matériel
- POS pour les paramètres du Registre .NET
- Configuration Plug-and-Play XML