CM_NOTIFY_ACTION列挙 (cfgmgr32.h)
この列挙は、プラグ アンド プレイデバイス イベントの種類を識別します。
構文
typedef enum _CM_NOTIFY_ACTION {
CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL = 0,
CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL,
CM_NOTIFY_ACTION_DEVICEQUERYREMOVE,
CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED,
CM_NOTIFY_ACTION_DEVICEREMOVEPENDING,
CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE,
CM_NOTIFY_ACTION_DEVICECUSTOMEVENT,
CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED,
CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED,
CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED,
CM_NOTIFY_ACTION_MAX
} CM_NOTIFY_ACTION, *PCM_NOTIFY_ACTION;
定数
CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL 値: 0 この値に対して、CM_NOTIFY_FILTER構造体の FilterType メンバーを設定します を CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACEします。 このアクションは、フィルター条件を満たすデバイス インターフェイスが有効になっていることを示します。 |
CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL この値に対して、CM_NOTIFY_FILTER構造体の FilterType メンバーを設定します を CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACEします。 このアクションは、フィルター条件を満たすデバイス インターフェイスが無効になっていることを示します。 |
CM_NOTIFY_ACTION_DEVICEQUERYREMOVE この値に対して、CM_NOTIFY_FILTER構造体の FilterType メンバーを設定します を CM_NOTIFY_FILTER_TYPE_DEVICEHANDLEします。 このアクションは、デバイスがクエリを削除していることを示します。 クエリの削除が成功できるようにするには、 CloseHandle を呼び出して、デバイスに対して開いているハンドルをすべて閉じます。 これを行わないと、開いているハンドルによって、このデバイスのクエリが正常に削除されなくなります。 詳細については、「 デバイス インターフェイスの到着とデバイスの削除の通知の登録 」を参照してください。 クエリの削除を拒否するには、ERROR_CANCELLEDを返します。 ただし、デバイスに対して開いているハンドルを閉じて、クエリの削除を拒否し、実行を許可しないことをお勧めします。 |
CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED この値に対して、CM_NOTIFY_FILTER構造体の FilterType メンバーを設定します を CM_NOTIFY_FILTER_TYPE_DEVICEHANDLEします。 このアクションは、デバイスのクエリ削除が失敗したことを示します。 CM_NOTIFY_ACTION_DEVICEQUERYREMOVEの 前の通知中にこのデバイスへのハンドルを閉じた場合は、デバイスへの新しいハンドルを開いて、I/O 要求の送信を続行します。 詳細については、「 デバイス インターフェイスの到着とデバイスの削除の通知の登録 」を参照してください。 |
CM_NOTIFY_ACTION_DEVICEREMOVEPENDING この値に対して、CM_NOTIFY_FILTER構造体の FilterType メンバーを設定します を CM_NOTIFY_FILTER_TYPE_DEVICEHANDLEします。 デバイスが削除されます。 デバイスに対して開いているハンドルがある場合は、 CloseHandle を呼び出してデバイス ハンドルを閉じます。 詳細については、「 デバイス インターフェイスの到着とデバイスの削除の通知の登録 」を参照してください。 システムは、対応する CM_NOTIFY_ACTION_DEVICEQUERYREMOVE メッセージを送信せずに CM_NOTIFY_ACTION_DEVICEREMOVEPENDING 通知を送信できます。 このような場合、アプリケーションとドライバーは、可能な限りデバイスの損失から回復する必要があります。 |
CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE この値に対して、CM_NOTIFY_FILTER構造体の FilterType メンバーを設定します を CM_NOTIFY_FILTER_TYPE_DEVICEHANDLEします。 デバイスは削除されました。 デバイスに対して開いているハンドルがある場合は、 CloseHandle を呼び出してデバイス ハンドルを閉じます。 詳細については、「 デバイス インターフェイスの到着とデバイスの削除の通知の登録 」を参照してください。 システムは、対応する CM_NOTIFY_ACTION_DEVICEQUERYREMOVEまたはCM_NOTIFY_ACTION_DEVICEREMOVEPENDING メッセージを送信せずに CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE 通知 を 送信できます。 このような場合、アプリケーションとドライバーは、可能な限りデバイスの損失から回復する必要があります。 |
CM_NOTIFY_ACTION_DEVICECUSTOMEVENT この値に対して、CM_NOTIFY_FILTER構造体の FilterType メンバーを設定します を CM_NOTIFY_FILTER_TYPE_DEVICEHANDLEします。 このアクションは、ドライバー定義のカスタム イベントが発生したときに送信されます。 |
CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED この値に対して、CM_NOTIFY_FILTER構造体の FilterType メンバーを設定します を CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCEします。 このアクションは、フィルター条件を満たす新しいデバイス インスタンスが列挙されたときに送信されます。 |
CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED この値に対して、CM_NOTIFY_FILTER構造体の FilterType メンバーを設定します を CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCEします。 このアクションは、フィルター条件を満たすデバイス インスタンスが開始されると送信されます。 |
CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED この値に対して、CM_NOTIFY_FILTER構造体の FilterType メンバーを設定します を CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCEします。 このアクションは、フィルター条件を満たすデバイス インスタンスが存在しなくなった場合に送信されます。 |
CM_NOTIFY_ACTION_MAX 使用しないでください。 |
注釈
ドライバーが CM_Register_Notification 関数を呼び出すとき、 pCallback パラメーターには、指定した PnP イベントが発生したときに呼び出されるルーチンへのポインターが含まれます。 コールバック ルーチンの Action パラメーターは、 CM_NOTIFY_ACTION 列挙の値です。
要件
要件 | 値 |
---|---|
Header | cfgmgr32.h |