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 中使用。
目標平台 桌面
標頭 cfgmgr32.h (包含 Cfgmgr32.h)
程式庫 Cfgmgr32.lib
Dll Cfgmgr32.dll

另請參閱

CM_Get_Child_Ex

CM_Reenumerate_DevNode