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

呼び出し元が指定したデバイス インスタンス ハンドルがバインドされている呼び出し元指定のマシン ハンドル。

メモこの機能は削除されたため、この関数を使用してリモート マシンにアクセスすることは、Windows 8とWindows Server 2012以降はサポートされていません。
 

戻り値

操作が成功した場合、関数は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

こちらもご覧ください

CM_Get_Child_Ex

CM_Reenumerate_DevNode