Microsoft Point of Service for .NET (POS for .NET) には、プラグ アンド プレイ デバイスのサポートが含まれています。 プラグ アンド プレイのサポートをサービス オブジェクトに追加することで、アプリケーションはよりシンプルで信頼性が高く、効率的になります。 サービス オブジェクトは、可能な限りサポートする必要があります。
サービス オブジェクト レベルでのプラグ アンド プレイのサポートの実装は非常に簡単です。 デバイスのハードウェア ID がわかったら、クラスに 1 つの属性を追加するだけで、 HardwareIdAttribute。
HardwareId属性は、デバイスの状態に応じて使用可能なデバイスの一覧からサービス オブジェクトをインテリジェントに除外するために、PosExplorerによって使用されます。 サービス オブジェクトに、インストールされているプラグ アンド プレイ デバイスを参照する HardwareId 属性があるが、そのデバイスが接続されていない場合、サービス オブジェクトは PosExplorer デバイスの一覧から除外されます。 この一覧は、アプリケーションが GetDevices()を呼び出すときに返されます。
サービス オブジェクトには、複数の HardwareId 属性を持つ場合もあります。この場合、 PosExplorer は、指定されたすべてのデバイスの和集合をサービス オブジェクトに関連付けます。 サービス オブジェクト アセンブリを再構築せずに、 HardwareId 属性をオーバーライドしたり、サービス オブジェクトに関連付けられているハードウェアの一覧に追加したりすることもできます。
HardwareId属性のオーバーライドまたは追加については、「プラグ アンド プレイ XML 構成」を参照してください。
アプリケーションのみが、 DeviceAddedEvent および DeviceRemovedEvent イベントをキャッチし、 PosExplorer から返された更新されたデバイス リストに基づいて、必要に応じてその状態を更新する役割を担います。 サービス オブジェクトは、これらのイベントを検出する必要はありません。
HardwareId 属性をサービス オブジェクト クラスに追加するには
サービス オブジェクトがサポートするデバイスのハードウェア ID の範囲を決定します。
デバイスで使用されるハードウェア ID が最も低く、最も高い値を使用して、クラス定義の前に
HardwareId属性を追加します。 複数のHardwareId属性を使用して、ハードウェア ID の複数の範囲を識別できます。
Example
次の例では、前のセクションで示した基本テンプレートに HardwareId 属性を追加します。
using System;
using Microsoft.PointOfService;
using Microsoft.PointOfService.BaseServiceObjects;
namespace SOTemplate
{
[HardwareId("HID\\Vid_05e0&Pid_038a",
"HID\\Vid_05e0&Pid_038a")]
[ServiceObject(
DeviceType.Msr,
"ServiceObjectTemplate",
"Bare bones Service Object class",
1,
9)]
public class MyServiceObject : MsrBase
{
public MyServiceObject()
{
}
}
}
こちらもご覧ください
タスク
概念
その他のリソース
.NET