CM_Reenumerate_DevNode_Ex関数 (cfgmgr32.h)
[Windows 8とWindows Server 2012以降、この関数は非推奨になりました。 代わりに CM_Reenumerate_DevNode を使用してください。]
CM_Reenumerate_DevNode_Ex関数は、指定されたデバイス ノードとそのすべての子によって識別されるデバイスを列挙します。
構文
CMAPI CONFIGRET CM_Reenumerate_DevNode_Ex(
[in] DEVINST dnDevInst,
[in] ULONG ulFlags,
[in, optional] HMACHINE hMachine
);
パラメーター
[in] dnDevInst
hMachine によって提供されるマシン ハンドルにバインドされている、呼び出し元が指定したデバイス インスタンス ハンドル。
[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と同じです。
[in, optional] hMachine
呼び出し元が指定したデバイス インスタンス ハンドルがバインドされている呼び出し元指定のマシン ハンドル。
戻り値
操作が成功した場合、関数はCR_SUCCESSを返します。 それ以外の場合は、 Cfgmgr32.h で定義されているCR_プレフィックス付きのエラー コードのいずれかを返します。
注釈
指定したデバイス ノードがハードウェアまたはソフトウェア バス デバイスを表す場合、PnP マネージャーはデバイスのドライバーに対して子の一覧を照会し、以前に構成されていない子デバイスの構成と起動を試みます。 PnP マネージャーは、存在しなくなったデバイスの突然の削除も開始します ( 「IRP_MN_SURPRISE_REMOVAL」を参照)。
この関数の呼び出し元には SeLoadDriverPrivilege が必要です。 (特権については、Microsoft Windows SDKドキュメントを参照してください。
ローカルまたはリモート コンピューターにバインドされているデバイス インスタンス ハンドルの使用については、「 CM_Get_Child_Ex」を参照してください。
リモート マシンにアクセスする機能は、Windows 8およびWindows Server 2012以降のオペレーティング システムで削除されているため、これらのバージョンの Windows で実行している場合はリモート マシンにアクセスできません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Microsoft Windows 2000 以降のバージョンの Windows で使用できます。 |
対象プラットフォーム | デスクトップ |
Header | cfgmgr32.h (Cfgmgr32.h を含む) |
Library | Cfgmgr32.lib |
[DLL] | Cfgmgr32.dll |