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 documentation.)

如需使用系結至本機電腦的裝置實例控制碼的相關資訊,請參閱 CM_Get_Child

規格需求

   
最低支援的用戶端 可在 Microsoft Windows 2000 和更新版本的 Windows 中使用。
目標平台 桌面
標頭 cfgmgr32.h (包含 Cfgmgr32.h)
程式庫 Cfgmgr32.lib
Dll Cfgmgr32.dll

另請參閱

CM_Get_Child

CM_Reenumerate_DevNode_Ex

IRP_MN_SURPRISE_REMOVAL