<Return[R]><Top>

RegisterDeviceNotification

Declare Sub Api_RegisterDeviceNotification Lib "user32" Alias "RegisterDeviceNotificationA" (ByVal hRecipient&, NotificationFilter As Any, ByVal Flags&)

Declare Sub RegisterDeviceNotification Lib "user32" Alias "RegisterDeviceNotificationA" (ByVal hRecipient As Long, NotificationFilter As Any, ByVal Flags As Long)

通知を受け取るデバイスまたはデバイスタイプを指定できるようにする。

パラメータ
hRecipient
    NotificationFilter パラメータで指定されたデバイスに関係するデバイスイベントを受け取るウィンドウのハンドルを指定する。複数の

    RegisterDeviceNotification 関数の呼び出しで同じウィンドウハンドルを利用できる。
    サービスではウィンドウハンドルかサービス状態ハンドルのいずれかを指定できる。
NotificationFilter
    通知の送信先となるデバイスタイプを指定するデータブロックへのポインタを指定する。このブロックの先頭には、必ず 構造体が置かれる。

    このヘッダーの後に続くデータは、dbch_devicetype メンバの値に依存する。
Flags
    ハンドルタイプを指定する。次の値のいずれかを指定する。

    型                                                           

説明                                                                  

    DEVICE_NOTIFY_WINDOW_HANDLE

hRecipient パラメータはウィンドウハンドルである。

    DEVICE_NOTIFY_SERVICE_HANDLE

hRecipient パラメータはサービス状態ハンドルである。

 

戻り値
    関数が成功すると、デバイス通知ハンドルが返る。
    関数が失敗すると、NULL が返る。拡張エラー情報を取得するには、 関数を使う。

解説
    アプリケーションは 関数を使ってイベント通知を送信する。トップレベルウィンドウを備える任意のアプリケーションは、 メッセージを処理するこ

    とにより、基本的な通知を受け取ることができる。アプリケーションは RegisterDeviceNotification 関数を使って、デバイス通知を受け取る

    ための登録を行うことができる。
    サービスは RegisterDeviceNotification 関数を使って、デバイス通知を受け取るための登録を行うことができる。サービスが hRecipient パ

    ラメータにウィンドウハンドルを指定した場合、通知はウィンドウプロシージャへ送信される。hRecipient にサービス状態ハンドルが指定された

    場合、通知はサービス制御ハンドラへ送信される。。