디바이스 관계 검색

Windows Vista 이상 버전의 Windows에서 통합 디바이스 속성 모델에는 디바이스 관계 속성이 포함됩니다. 통합 디바이스 속성 모델은 속성 키를 사용하여 이러한 속성을 나타냅니다. 통합 디바이스 속성 모델에 표시되는 관계 목록은 다음과 같습니다.

Windows Server 2003, Windows XP 및 Windows 2000은 통합 속성 모델의 속성 키를 지원하지 않습니다. 그러나 PnP(플러그 앤 플레이) 구성 관리자 함수를 호출하여 해당 정보를 검색할 수 있습니다. 이전 Windows 버전과의 호환성을 유지하기 위해 Windows Vista 이상 버전에서는 PnP 구성 관리자 함수를 호출하여 디바이스 관계 속성을 검색할 수도 있습니다. 그러나 통합 디바이스 속성 모델의 속성 키를 사용하여 디바이스 관계 속성에 액세스해야 합니다. 속성 키를 사용하여 디바이스 드라이버 속성에 액세스하는 방법에 대한 자세한 내용은 디바이스 인스턴스 속성 액세스(Windows Vista 이상)를 참조하세요.

Windows Server 2003, Windows XP 및 Windows 2000에서 디바이스 관계 속성에 액세스하는 방법에 대한 자세한 내용은 다음 topics 참조하세요.

분리 관계, 제거 관계 및 전원 관계 및 버스 관계 검색

디바이스 인스턴스의 부모 검색

디바이스 인스턴스의 자식 검색

디바이스 인스턴스의 형제 검색

분리 관계, 제거 관계 및 전원 관계 및 버스 관계 검색

Windows Server 2003, Windows XP 및 Windows 2000에서 디바이스 관계 정보를 검색하려면 CM_Get_Device_ID_List 호출하고 다음 매개 변수 값을 제공합니다.

  • pszFilter를 관계 정보를 검색할 디바이스 instance 식별자를 지정하는 NULL로 끝나는 문자열에 대한 포인터로 설정합니다.

  • 버퍼를 NULL로 종료된 디바이스 instance 식별자 목록을 수신하는 버퍼에 대한 포인터로 설정합니다. 목록이 추가 NULL 문자로 종료됩니다. CM_Get_Device_ID_List_Size 함수를 호출하여 필요한 버퍼 크기를 가져올 수 있습니다.

  • BufferLen버퍼 버퍼의 크기(문자 단위)로 설정합니다.

  • ulFlags를 다음 플래그 중 하나로 설정하여 해당 관계 정보를 검색합니다.

    • CM_GETIDLIST_FILTER_EJECTIONRELATIONS

      CM_GETIDLIST_FILTER_EJECTIONRELATIONS 플래그는 Windows Vista 이상 버전의 DEVPKEY_Device_EjectionRelations 디바이스 속성에서 제공하는 것과 동일한 정보인 배출 관계를 검색합니다.

    • CM_GETIDLIST_FILTER_REMOVALRELATIONS

      CM_GETIDLIST_FILTER_REMOVALRELATIONS 플래그는 Windows Vista 이상 버전의 DEVPKEY_Device_RemovalRelations 디바이스 속성에서 제공하는 것과 동일한 정보인 제거 관계를 검색합니다.

    • CM_GETIDLIST_FILTER_POWERRELATIONS

      CM_GETIDLIST_FILTER_POWERRELATIONS 플래그는 Windows Vista 이상 버전의 DEVPKEY_Device_PowerRelations 디바이스 속성에서 제공하는 것과 동일한 정보인 전원 관계를 검색합니다.

    • CM_GETIDLIST_FILTER_BUSRELATIONS

      CM_GETIDLIST_FILTER_BUSRELATIONS 플래그는 Windows Vista 이상 버전의 DEVPKEY_Device_BusRelations 디바이스 속성에서 제공하는 것과 동일한 정보인 버스 관계를 검색합니다.

CM_Get_Device_ID_List 대한 호출이 성공하면 CM_Get_Device_ID_List 요청된 관계 정보를 검색하고 CR_SUCCESS 반환합니다. 그렇지 않으면 CM_Get_Device_ID_ListCfgmgr32.h에 정의된 접두사 "CR_"이 있는 오류 코드 중 하나를 반환합니다.

디바이스 인스턴스의 부모 검색

Windows Server 2003, Windows XP 및 Windows 2000에서 부모 디바이스의 디바이스 instance 식별자를 검색하려면 다음 단계를 수행합니다.

  1. CM_Get_Parent 함수를 호출하여 디바이스 instance 부모 디바이스에 대한 디바이스 instance 핸들을 검색합니다.

  2. CM_Get_Device_ID 호출하여 CM_Get_Parent 대한 이전 호출에서 검색한 부모 디바이스에 대한 디바이스 instance 핸들과 연결된 디바이스 instance 식별자를 검색합니다.

이 절차를 사용하여 검색된 이 정보는 Windows Vista 이상 버전의 통합 디바이스 속성 모델에서 DEVPKEY_Device_Parent 속성으로 표시되는 것과 동일합니다.

디바이스 인스턴스의 자식 검색

Windows Server 2003, Windows XP 및 Windows 2000에서 instance 디바이스의 자식 디바이스의 디바이스 instance 식별자를 검색하려면 다음 단계를 수행합니다.

  1. CM_Get_Child 함수를 호출하여 디바이스 instance 연결된 첫 번째 자식 디바이스에 대한 디바이스 instance 핸들을 검색합니다.

  2. CM_Get_Child 호출에 의해 검색된 첫 번째 자식 디바이스의 모든 형제 디바이스를 열거하는 데 필요한 횟수만큼 CM_Get_Sibling 호출합니다.

  3. CM_Get_Device_ID 호출하여 CM_Get_Child 및 CM_Get_Sibling 호출에서 반환된 디바이스 instance 핸들과 연결된 디바이스 instance 식별자를 검색합니다.

이 절차를 사용하여 검색된 이 정보는 Windows Vista 이상 버전의 통합 디바이스 속성 모델에서 DEVPKEY_Device_Children 속성으로 표시되는 것과 동일합니다.

디바이스 인스턴스의 형제 검색

Windows Server 2003, Windows XP 및 Windows 2000에서 Abc instance 디바이스의 형제 디바이스에 대한 디바이스 instance 식별자를 검색하려면 다음 단계를 수행합니다.

  1. CM_Get_Parent 함수를 호출하여 디바이스 instance Abc의 부모 디바이스에 대한 디바이스 instance 핸들을 검색합니다.

  2. CM_Get_Child 함수를 호출하여 디바이스 instance Abc의 부모 디바이스의 첫 번째 자식 디바이스에 대한 디바이스 instance 핸들을 검색합니다.

  3. 부모 디바이스의 첫 번째 자식 디바이스의 모든 형제 디바이스를 열거하는 데 필요한 만큼 CM_Get_Sibling 호출합니다 . 또한 이 열거형은 abc를 instance 디바이스에 대한 핸들을 반환합니다.

  4. CM_Get_Device_ID 호출하여 CM_Get_Sibling 대한 이전 호출에서 반환된 디바이스 instance 핸들과 연결된 디바이스 instance 식별자를 검색합니다. 부모 디바이스의 첫 번째 자식 디바이스의 형제 디바이스 목록에서 디바이스 instance Abc에 대한 핸들을 제거합니다.

이 절차를 사용하여 검색된 정보는 Windows Vista 이상 버전의 통합 디바이스 속성 모델에서 DEVPKEY_Device_Siblings 속성으로 표시되는 것과 동일합니다. 이 섹션에 나열된 CM_Xxx 함수 호출이 성공하면 CM_Xxx 함수는 요청된 정보를 검색하고 CR_SUCCESS 반환합니다. 그렇지 않으면 CM_Xxx 함수는 Cfgmgr32.h에 정의된 접두사 "CR_"이 있는 오류 코드 중 하나를 반환합니다.