CM_NOTIFY_ACTION
列挙型メンバー 11
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL | 0 | 0x0 | この値の場合は、CM_NOTIFY_FILTER 構造体の FilterType メンバーに CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE を設定します。このアクションは、フィルター条件を満たすデバイス インターフェイスが有効になったことを示します。 |
| CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL | 1 | 0x1 | この値の場合は、CM_NOTIFY_FILTER 構造体の FilterType メンバーに CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE を設定します。 このアクションは、フィルター条件を満たすデバイス インターフェイスが無効になったことを示します。 |
| CM_NOTIFY_ACTION_DEVICEQUERYREMOVE | 2 | 0x2 | この値の場合は、CM_NOTIFY_FILTER 構造体の FilterType メンバーに CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE を設定します。 このアクションは、デバイスの削除がクエリされている (query remove) ことを示します。クエリによる削除を成功させるには、CloseHandle を呼び出して、そのデバイスに対して開いているハンドルをすべて閉じてください。これを行わない場合、開いたままのハンドルによってこのデバイスのクエリ削除は成功しません。詳細については、Registering for Notification of Device Interface Arrival and Device Removal を参照してください。 クエリ削除を拒否するには、ERROR_CANCELLED を返します。ただし、クエリ削除を拒否せず、デバイスに対して開いているハンドルを閉じて削除を許可することをお勧めします。 |
| CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED | 3 | 0x3 | この値の場合は、CM_NOTIFY_FILTER 構造体の FilterType メンバーに CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE を設定します。 このアクションは、デバイスのクエリ削除が失敗したことを示します。以前の CM_NOTIFY_ACTION_DEVICEQUERYREMOVE の通知でこのデバイスのハンドルを閉じた場合は、デバイスへの I/O 要求を続行するために、デバイスへの新しいハンドルを開いてください。詳細については、Registering for Notification of Device Interface Arrival and Device Removal を参照してください。 |
| CM_NOTIFY_ACTION_DEVICEREMOVEPENDING | 4 | 0x4 | この値の場合は、CM_NOTIFY_FILTER 構造体の FilterType メンバーに CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE を設定します。 デバイスは削除されます。デバイスへのハンドルをまだ開いている場合は、CloseHandle を呼び出してデバイス ハンドルを閉じてください。詳細については、Registering for Notification of Device Interface Arrival and Device Removal を参照してください。システムは、対応する CM_NOTIFY_ACTION_DEVICEQUERYREMOVE メッセージを送信せずに CM_NOTIFY_ACTION_DEVICEREMOVEPENDING 通知を送信する場合があります。そのような場合、アプリケーションとドライバーは、デバイスの喪失から可能な限り復旧する必要があります。 |
| CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE | 5 | 0x5 | この値の場合は、CM_NOTIFY_FILTER 構造体の FilterType メンバーに CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE を設定します。 デバイスは削除されました。デバイスへのハンドルをまだ開いている場合は、CloseHandle を呼び出してデバイス ハンドルを閉じてください。詳細については、Registering for Notification of Device Interface Arrival and Device Removal を参照してください。システムは、対応する CM_NOTIFY_ACTION_DEVICEQUERYREMOVE メッセージや CM_NOTIFY_ACTION_DEVICEREMOVEPENDING メッセージを送信せずに CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE 通知を送信する場合があります。そのような場合、アプリケーションとドライバーは、デバイスの喪失から可能な限り復旧する必要があります。 |
| CM_NOTIFY_ACTION_DEVICECUSTOMEVENT | 6 | 0x6 | この値の場合は、CM_NOTIFY_FILTER 構造体の FilterType メンバーに CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE を設定します。このアクションは、ドライバーで定義されたカスタム イベントが発生したときに送信されます。 |
| CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED | 7 | 0x7 | この値の場合は、CM_NOTIFY_FILTER 構造体の FilterType メンバーに CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE を設定します。このアクションは、フィルター条件を満たす新しいデバイス インスタンスが列挙されたときに送信されます。 |
| CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED | 8 | 0x8 | この値の場合は、CM_NOTIFY_FILTER 構造体の FilterType メンバーに CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE を設定します。このアクションは、フィルター条件を満たすデバイス インスタンスが開始されたときに送信されます。 |
| CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED | 9 | 0x9 | この値の場合は、CM_NOTIFY_FILTER 構造体の FilterType メンバーに CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE を設定します。このアクションは、フィルター条件を満たすデバイス インスタンスが存在しなくなったときに送信されます。 |
| CM_NOTIFY_ACTION_MAX | 10 | 0xA | 使用しないでください。 |
公式ドキュメント
この列挙型は、プラグ アンド プレイ デバイス イベントの種類を識別します。
解説(Remarks)
ドライバーが CM_Register_Notification 関数を呼び出すとき、pCallback パラメーターには、指定した PnP イベントが発生したときに呼び出されるルーチンへのポインターを格納します。コールバック ルーチンの Action パラメーターは、CM_NOTIFY_ACTION 列挙型の値です。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum CM_NOTIFY_ACTION : int {
CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL = 0,
CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL = 1,
CM_NOTIFY_ACTION_DEVICEQUERYREMOVE = 2,
CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED = 3,
CM_NOTIFY_ACTION_DEVICEREMOVEPENDING = 4,
CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE = 5,
CM_NOTIFY_ACTION_DEVICECUSTOMEVENT = 6,
CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED = 7,
CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED = 8,
CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED = 9,
CM_NOTIFY_ACTION_MAX = 10
} CM_NOTIFY_ACTION;public enum CM_NOTIFY_ACTION : int
{
CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL = 0,
CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL = 1,
CM_NOTIFY_ACTION_DEVICEQUERYREMOVE = 2,
CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED = 3,
CM_NOTIFY_ACTION_DEVICEREMOVEPENDING = 4,
CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE = 5,
CM_NOTIFY_ACTION_DEVICECUSTOMEVENT = 6,
CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED = 7,
CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED = 8,
CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED = 9,
CM_NOTIFY_ACTION_MAX = 10,
}Public Enum CM_NOTIFY_ACTION As Integer
CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL = 0
CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL = 1
CM_NOTIFY_ACTION_DEVICEQUERYREMOVE = 2
CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED = 3
CM_NOTIFY_ACTION_DEVICEREMOVEPENDING = 4
CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE = 5
CM_NOTIFY_ACTION_DEVICECUSTOMEVENT = 6
CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED = 7
CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED = 8
CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED = 9
CM_NOTIFY_ACTION_MAX = 10
End Enumimport enum
class CM_NOTIFY_ACTION(enum.IntEnum):
CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL = 0
CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL = 1
CM_NOTIFY_ACTION_DEVICEQUERYREMOVE = 2
CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED = 3
CM_NOTIFY_ACTION_DEVICEREMOVEPENDING = 4
CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE = 5
CM_NOTIFY_ACTION_DEVICECUSTOMEVENT = 6
CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED = 7
CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED = 8
CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED = 9
CM_NOTIFY_ACTION_MAX = 10// CM_NOTIFY_ACTION
pub const CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL: i32 = 0;
pub const CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL: i32 = 1;
pub const CM_NOTIFY_ACTION_DEVICEQUERYREMOVE: i32 = 2;
pub const CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED: i32 = 3;
pub const CM_NOTIFY_ACTION_DEVICEREMOVEPENDING: i32 = 4;
pub const CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE: i32 = 5;
pub const CM_NOTIFY_ACTION_DEVICECUSTOMEVENT: i32 = 6;
pub const CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED: i32 = 7;
pub const CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED: i32 = 8;
pub const CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED: i32 = 9;
pub const CM_NOTIFY_ACTION_MAX: i32 = 10;// CM_NOTIFY_ACTION
const (
CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL int32 = 0
CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL int32 = 1
CM_NOTIFY_ACTION_DEVICEQUERYREMOVE int32 = 2
CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED int32 = 3
CM_NOTIFY_ACTION_DEVICEREMOVEPENDING int32 = 4
CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE int32 = 5
CM_NOTIFY_ACTION_DEVICECUSTOMEVENT int32 = 6
CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED int32 = 7
CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED int32 = 8
CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED int32 = 9
CM_NOTIFY_ACTION_MAX int32 = 10
)const
CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL = 0;
CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL = 1;
CM_NOTIFY_ACTION_DEVICEQUERYREMOVE = 2;
CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED = 3;
CM_NOTIFY_ACTION_DEVICEREMOVEPENDING = 4;
CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE = 5;
CM_NOTIFY_ACTION_DEVICECUSTOMEVENT = 6;
CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED = 7;
CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED = 8;
CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED = 9;
CM_NOTIFY_ACTION_MAX = 10;// CM_NOTIFY_ACTION
pub const CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL: i32 = 0;
pub const CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL: i32 = 1;
pub const CM_NOTIFY_ACTION_DEVICEQUERYREMOVE: i32 = 2;
pub const CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED: i32 = 3;
pub const CM_NOTIFY_ACTION_DEVICEREMOVEPENDING: i32 = 4;
pub const CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE: i32 = 5;
pub const CM_NOTIFY_ACTION_DEVICECUSTOMEVENT: i32 = 6;
pub const CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED: i32 = 7;
pub const CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED: i32 = 8;
pub const CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED: i32 = 9;
pub const CM_NOTIFY_ACTION_MAX: i32 = 10;const
CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL* = 0
CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL* = 1
CM_NOTIFY_ACTION_DEVICEQUERYREMOVE* = 2
CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED* = 3
CM_NOTIFY_ACTION_DEVICEREMOVEPENDING* = 4
CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE* = 5
CM_NOTIFY_ACTION_DEVICECUSTOMEVENT* = 6
CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED* = 7
CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED* = 8
CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED* = 9
CM_NOTIFY_ACTION_MAX* = 10enum CM_NOTIFY_ACTION : int {
CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL = 0,
CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL = 1,
CM_NOTIFY_ACTION_DEVICEQUERYREMOVE = 2,
CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED = 3,
CM_NOTIFY_ACTION_DEVICEREMOVEPENDING = 4,
CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE = 5,
CM_NOTIFY_ACTION_DEVICECUSTOMEVENT = 6,
CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED = 7,
CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED = 8,
CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED = 9,
CM_NOTIFY_ACTION_MAX = 10,
}#define global CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL 0x0
#define global CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL 0x1
#define global CM_NOTIFY_ACTION_DEVICEQUERYREMOVE 0x2
#define global CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED 0x3
#define global CM_NOTIFY_ACTION_DEVICEREMOVEPENDING 0x4
#define global CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE 0x5
#define global CM_NOTIFY_ACTION_DEVICECUSTOMEVENT 0x6
#define global CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED 0x7
#define global CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED 0x8
#define global CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED 0x9
#define global CM_NOTIFY_ACTION_MAX 0xA