共用方式為


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_Connect_Machine 取得遠端電腦句柄,以便與遠端裝置實例句柄搭配使用。

若要取得本機或遠端裝置實例句柄,請執行下列其中一項操作。

您也可以使用 裝置安裝函式 來取得裝置實例句柄。 請執行下列步驟:
  1. 取得裝置資訊集。
  2. 取得裝置資訊集中裝置實例的 SP_DEVINFO_DATA 結構。
  3. 從 SP_DEVINFO_DATA 結構的 DevInst 成員取得裝置實例的裝置實例句柄。
  4. 取得裝置實例句柄所系結的計算機句柄。 從裝置資訊集取得的裝置實例句柄會系結至裝置資訊集所系結的計算機句柄。 您可以從其 SP_DEVINFO_LIST_DETAIL_DATA 結構的 RemoteMachineHandle 成員取得裝置資訊的機器句柄。 (呼叫 SetupDiGetDeviceInfoListDetail 以取得SP_DEVINFO_LIST_DETAIL_DATA structure.)
存取遠端電腦的功能已在 Windows 8 和 Windows Server 2012 及更新版本的作業系統中移除,因此您無法在這些版本的 Windows 上執行時存取遠端電腦。

規格需求

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

另請參閱

CM_Get_Child

CM_Get_Parent

CM_Get_Parent_Ex

CM_Get_Sibling

CM_Get_Sibling_Ex

CM_Locate_DevNode

CM_Locate_DevNode_Ex

SP_DEVINFO_DATA

SP_DEVINFO_LIST_DETAIL_DATA

SetupDiGetDeviceInfoListDetail