CM_Get_Child_Ex函式 (cfgmgr32.h)
[從 Windows 8 和 Windows Server 2012 開始,此函式已被取代。 請改用 CM_Get_Child 。]
CM_Get_Child_Ex函式可用來擷取指定裝置節點的第一個子節點的裝置實例句柄, (devnode) 本機或遠端電腦的裝置樹狀結構中。
語法
CMAPI CONFIGRET CM_Get_Child_Ex(
[out] PDEVINST pdnDevInst,
[in] DEVINST dnDevInst,
[in] ULONG ulFlags,
[in, optional] HMACHINE hMachine
);
參數
[out] pdnDevInst
呼叫端提供的裝置實例句柄指標,指向此函式所擷取的子節點。 擷取的句柄會系結至 hMachine 所提供的機器句柄。 請參閱一節。
[in] dnDevInst
呼叫端提供的裝置實例句柄,其系結至 hMachine 所提供的機器句柄。
[in] ulFlags
未使用,必須是零。
[in, optional] hMachine
呼叫端提供的機器句柄,呼叫端提供的裝置實例句柄會系結至其中。
注意從 Windows 8 和 Windows Server 2012 開始,不支援使用此函式來存取遠端電腦,因為已移除此功能。
傳回值
如果作業成功,函式會傳回CR_SUCCESS。 否則,它會傳回 Cfgmgr32.h 中定義的其中一個CR_前置錯誤碼。
備註
若要列舉本機或遠端電腦裝置樹狀結構中 devnode 的所有子系,請先呼叫 CM_Get_Child_Ex 以取得第一個子節點的句柄,然後呼叫 CM_Get_Sibling_Ex 以取得其餘子系的句柄。
使用裝置實例句柄
搭配 PnP 組態管理員函 式使用的裝置實例句柄會系結至計算機句柄,如下所示:
- 所有本機裝置實例句柄都會系結至 NULL 值本機電腦句柄。
- 如果您使用遠端電腦句柄來取得裝置實例句柄,產生的遠端裝置實例句柄會系結至遠端電腦句柄。
- 裝置實例句柄只能與其系結的計算機句柄搭配使用。
- 只有在兩個裝置實例句柄都系結至相同的計算機句柄時,裝置實例句柄才能與另一個裝置實例句柄搭配使用。
若要取得本機或遠端裝置實例句柄,請執行下列其中一項操作。
- 使用下列其中一個函式來擷取系結至本機計算機的裝置實例句柄: CM_Locate_DevNode、 CM_Get_Child、 CM_Get_Parent或 CM_Get_Sibling。
- 使用下列其中一個函式來擷取系結至本機或遠端電腦的裝置實例句柄: CM_Locate_DevNode_Ex、 CM_Get_Child_Ex、 CM_Get_Parent_Ex或 CM_Get_Sibling_Ex。
- 取得裝置資訊集。
- 取得裝置資訊集中裝置實例的 SP_DEVINFO_DATA 結構。
- 從 SP_DEVINFO_DATA 結構的 DevInst 成員取得裝置實例的裝置實例句柄。
- 取得裝置實例句柄所系結的計算機句柄。 從裝置資訊集取得的裝置實例句柄會系結至裝置資訊集所系結的計算機句柄。 您可以從其 SP_DEVINFO_LIST_DETAIL_DATA 結構的 RemoteMachineHandle 成員取得裝置資訊的機器句柄。 (呼叫 SetupDiGetDeviceInfoListDetail 以取得SP_DEVINFO_LIST_DETAIL_DATA structure.)
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Microsoft Windows 2000 和更新版本的 Windows 中使用。 |
目標平台 | 桌面 |
標頭 | cfgmgr32.h (包含 Cfgmgr32.h) |
程式庫 | Cfgmgr32.lib |
Dll | Cfgmgr32.dll |