デバイス通知
システムは、一連の既定のデバイス変更イベントをすべてのアプリケーションとサービスにブロードキャストします。 これらの既定のイベントを受信するために登録する必要はありません。 詳細については、registerDeviceNotificationの「解説」セクションを参照してください。 アプリケーションまたはサービスが受け取るその他のイベントを指定するには、RegisterDeviceNotification 関数を使用します。
アプリケーションまたはサービスが RegisterDeviceNotification呼び出すときに、通知イベントを受信するウィンドウも指定します。 サービスは、ウィンドウ ハンドルの代わりにサービス状態ハンドルを指定できます。 サービスがサービス状態ハンドルを指定した場合、サービス制御ハンドラーは通知イベントを受け取ります。 詳細については、「HandlerExを参照してください。
プラグ アンド プレイ デバイス イベントは、できるだけ早く処理してください。 そうしないと、システムが応答しなくなる可能性があります。 イベント ハンドラーが実行をブロックする可能性がある操作 (I/O など) を実行する場合は、別のスレッドを開始して操作を非同期的に実行することをお勧めします。
RegisterDeviceNotification によって返されるデバイス通知ハンドルは、UnregisterDeviceNotification 関数が不要になったときに呼び出すことによって閉じる必要があります。
関連トピック
-
デバイス通知 の登録