JAJA452A january 2011 – may 2023
従来の COM ポートとは異なり、USB アプリケーションでは、ユーザーがデバイスをいつでも取り外す (または接続する) ことができることを認識する必要があります。これが USB の動的な「プラグ・アンド・プレイ」の特徴です。Windows は、MFC ライブラリに実装されている通知機能によってこれを処理します。通知はアプリケーションのウィンドウ・オブジェクトに直接送られるため、これは API の外部で行われます。ただし、これらの通知を受信すると、アプリケーションはこの目的のために特別に提供された API ハンドラを呼び出すことができます。デモ・アプリケーションでは、これを行う方法を示します。
アプリケーションがこれらの通知を処理するために必要な手順は以下のとおりです。
この関数の定義は、次のようになります。
afx_msg BOOL OnDeviceChange(
UINT nEventType,
DWORD_PTR dwData
);
この関数は、このアプリケーションで使用されている「HID デバイス」のいずれかがシステムから削除されたかどうかを判断する必要があります。 そのために、オープンしている各 HID デバイスに対して HID_IsDeviceAffected() を呼び出して、それらが削除されたかどうかを判断できます。
アプリケーションを終了するときは、HID_UnregisterForDeviceNotification() を使用して、必ずアプリケーションの登録を解除する必要があります。