CM_Reenumerate_DevNode関数 (cfgmgr32.h)
CM_Reenumerate_DevNode関数は、指定されたデバイス ノードとそのすべての子によって識別されるデバイスを列挙します。
構文
CMAPI CONFIGRET CM_Reenumerate_DevNode(
[in] DEVINST dnDevInst,
[in] ULONG ulFlags
);
パラメーター
[in] dnDevInst
ローカル コンピューターにバインドされている呼び出し元から提供されたデバイス インスタンス ハンドル。
[in] ulFlags
再開の実行方法を指定する呼び出し元から提供されるフラグ。 このパラメーターは、次に示すように、次のフラグの組み合わせに設定できます。
CM_REENUMERATE_ASYNCHRONOUS
再開は非同期的に行う必要があります。 この関数の呼び出しは、PnP マネージャーが再開要求を受信した直後にを返します。 このフラグが設定されている場合は、CM_REENUMERATE_SYNCHRONOUS フラグも設定しないでください。
CM_REENUMERATE_NORMAL
再開が同期的に行われる既定の再開動作を指定します。 このフラグは、機能的にはCM_REENUMERATE_SYNCHRONOUSと同等です。
CM_REENUMERATE_RETRY_INSTALLATION
プラグ アンド プレイが、検出されたが、まだ構成されていない、または再インストールが必要とマークされている、またはインストールを完了する必要がある、指定したサブツリーにデバイスをインストールする別の試行を行う必要があることを指定します。 このフラグは、CM_REENUMERATE_SYNCHRONOUS フラグまたは CM_REENUMERATE_ASYNCHRONOUS フラグと共に設定できます。
このフラグは、PnP マネージャーがこのようなデバイスのインストールを実行するようにユーザーに求める可能性があるため、細心の注意を払って使用する必要があります。 現時点では、デバイス マネージャー やハードウェア ウィザードなどのコンポーネントのみがこのフラグを使用して、ユーザーが既に検出されているが現在インストールされていない可能性があるデバイスのインストールを再試行できるようにします。
CM_REENUMERATE_SYNCHRONOUS
再開は同期的に行う必要があります。 この関数の呼び出しは、指定されたサブツリー内のすべてのデバイスが再び呼び出されたときにを返します。 このフラグが設定されている場合は、CM_REENUMERATE_ASYNCHRONOUS フラグも設定しないでください。 このフラグは、機能的にはCM_REENUMERATE_NORMALと同等です。
戻り値
操作が成功した場合、関数は CR_SUCCESSを返します。 それ以外の場合は、 Cfgmgr32.h で定義されているCR_プレフィックス付きのエラー コードのいずれかを返します。
解説
指定したデバイス ノードがハードウェアまたはソフトウェア バス デバイスを表す場合、PnP マネージャーはデバイスのドライバーに対して子の一覧を照会し、以前に構成されていない子デバイスの構成と起動を試みます。 PnP マネージャーは、存在しなくなったデバイスの突然の削除も開始します ( 「IRP_MN_SURPRISE_REMOVAL」を参照)。
この関数の呼び出し元には SeLoadDriverPrivilege が必要です。 (特権については、Microsoft Windows SDKドキュメントを参照してください)。
ローカル コンピューターにバインドされているデバイス インスタンス ハンドルの使用については、「 CM_Get_Child」を参照してください。
要件
サポートされている最小のクライアント | Microsoft Windows 2000 以降のバージョンの Windows で使用できます。 |
対象プラットフォーム | デスクトップ |
Header | cfgmgr32.h (Cfgmgr32.h を含む) |
Library | Cfgmgr32.lib |
[DLL] | Cfgmgr32.dll |