다음을 통해 공유


CM_Get_Child_Ex 함수(cfgmgr32.h)

[Windows 8 및 Windows Server 2012 이 함수는 더 이상 사용되지 않습니다. 대신 CM_Get_Child 사용하세요.]

CM_Get_Child_Ex 함수는 로컬 또는 원격 머신의 디바이스 트리에서 지정된 디바이스 노드(devnode)의 첫 번째 자식 노드에 대한 디바이스 instance 핸들을 검색하는 데 사용됩니다.

구문

CMAPI CONFIGRET CM_Get_Child_Ex(
  [out]          PDEVINST pdnDevInst,
  [in]           DEVINST  dnDevInst,
  [in]           ULONG    ulFlags,
  [in, optional] HMACHINE hMachine
);

매개 변수

[out] pdnDevInst

이 함수가 검색하는 자식 노드에 대한 디바이스 instance 핸들에 대한 호출자 제공 포인터입니다. 검색된 핸들은 hMachine에서 제공하는 컴퓨터 핸들에 바인딩됩니다. 설명 섹션 참조하세요.

[in] dnDevInst

hMachine에서 제공하는 컴퓨터 핸들에 바인딩된 호출자 제공 디바이스 instance 핸들입니다.

[in] ulFlags

사용되지 않음, 0이어야 합니다.

[in, optional] hMachine

호출자가 제공한 디바이스 instance 핸들이 바인딩된 호출자 제공 컴퓨터 핸들입니다.

참고 이 기능이 제거되었으므로 이 함수를 사용하여 원격 머신에 액세스하는 것은 Windows 8 및 Windows Server 2012 시작되지 않습니다.
 

반환 값

작업이 성공하면 함수는 CR_SUCCESS 반환합니다. 그렇지 않으면 Cfgmgr32.h에 정의된 CR_ 접두사 오류 코드 중 하나를 반환합니다.

설명

로컬 또는 원격 머신의 디바이스 트리에서 devnode의 모든 자식을 열거하려면 먼저 CM_Get_Child_Ex 호출하여 첫 번째 자식 노드에 대한 핸들을 가져온 다음 CM_Get_Sibling_Ex 호출하여 나머지 자식에 대한 핸들을 가져옵니다.

디바이스 인스턴스 핸들 사용

PnP 구성 관리자 함수와 함께 사용하는 디바이스 instance 핸들은 다음과 같이 컴퓨터 핸들에 바인딩됩니다.

  • 모든 로컬 디바이스 instance 핸들은 NULL 반환 로컬 컴퓨터 핸들에 바인딩됩니다.
  • 원격 컴퓨터 핸들을 사용하여 디바이스 instance 핸들을 가져오는 경우 결과 원격 디바이스 instance 핸들이 원격 컴퓨터 핸들에 바인딩됩니다.
  • 디바이스 instance 핸들은 바인딩된 컴퓨터 핸들에서만 사용할 수 있습니다.
  • 디바이스 instance 핸들은 두 디바이스 instance 핸들이 동일한 컴퓨터 핸들에 바인딩된 경우에만 다른 디바이스 instance 핸들과 함께 사용할 수 있습니다.
CM_Connect_Machine 사용하여 원격 디바이스 instance 핸들에 사용할 원격 머신 핸들을 가져옵니다.

로컬 또는 원격 디바이스 instance 핸들을 가져오려면 다음 중 하나를 수행합니다.

디바이스 설치 함수를 사용하여 디바이스 instance 핸들을 가져올 수도 있습니다. 다음 단계를 수행합니다.
  1. 디바이스 정보 집합을 가져옵니다.
  2. 디바이스 정보 집합에서 디바이스 instance 대한 SP_DEVINFO_DATA 구조를 가져옵니다.
  3. SP_DEVINFO_DATA 구조의 DevInst 멤버에서 디바이스 instance 대한 디바이스 instance 핸들을 가져옵니다.
  4. 디바이스 instance 핸들이 바인딩된 컴퓨터 핸들을 가져옵니다. 디바이스 정보 집합에서 가져온 디바이스 instance 핸들은 디바이스 정보 집합이 바인딩된 컴퓨터 핸들에 바인딩됩니다. SP_DEVINFO_LIST_DETAIL_DATA 구조의RemoteMachineHandle 멤버에서 설정된 디바이스 정보에 대한 컴퓨터 핸들을 가져옵니다. ( SetupDiGetDeviceInfoListDetail 을 호출하여 SP_DEVINFO_LIST_DETAIL_DATA 구조를 가져옵니다.)
원격 머신에 액세스하는 기능은 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