디바이스 설치 함수 사용
이 섹션에서는 디바이스 설치 기능을 요약합니다. 설치 소프트웨어는 디바이스 설치 기능을 사용하여 다음과 같은 유형의 작업을 수행할 수 있습니다.
드라이버 설치
DIF 코드를 처리합니다.
디바이스 정보 집합을 관리합니다.
드라이버 목록을 관리합니다.
디바이스 인터페이스를 관리합니다.
아이콘 및 기타 비트맵을 관리합니다.
다음 표에서는 다음 유형의 함수에 대한 요약을 제공합니다.
드라이버 설치 함수
시스템에 있는 PnP 디바이스의 드라이버 저장소 에 미리 설치된 지정된 드라이버 패키지를 설치합니다. (Windows Vista 이상 버전의 Windows) |
|
디바이스를 제거하고 시스템에서 디바이스 노드(devnode)를 제거합니다. (Windows 7 이상 버전의 Windows) |
|
드라이버 저장소에 드라이버 패키지를 사전 설치한 다음 시스템에 있는 일치하는 PnP 디바이스에 드라이버 패키지를 설치합니다. (Windows Vista 이상 버전의 Windows) |
|
드라이버 저장소에서 드라이버 패키지를 제거합니다. (Windows 10 버전 1703 이상 버전의 Windows) |
|
시스템에 있는 PnP 디바이스와 일치하기 위해 설치된 드라이버 패키지를 업데이트. |
|
지정된 디바이스에 설치된 드라이버 패키지를 디바이스에 설정된 백업 드라이버 패키지로 롤백합니다. (Windows Vista 이상 버전의 Windows) |
디바이스 정보 함수
참고
SetupApi는 Windows의 모든 버전에서 지원되지 않습니다. 가능하면CfgMgr32.dll통해 사용할 수 있는 것과 같은 하위 계층 API 를 사용해야 합니다. 팁은 SetupApi에서 CfgMgr32로 포팅 을 참조하세요.
빈 디바이스 정보 집합을 만듭니다. 이 집합은 클래스 GUID와 연결할 수 있습니다. |
|
빈 디바이스 정보 집합을 만듭니다. 이 집합은 클래스 GUID와 연결될 수 있으며 원격 컴퓨터의 디바이스용일 수 있습니다. |
|
새 디바이스 정보 요소를 만들고 지정된 디바이스 정보 집합에 새 멤버로 추가합니다. |
|
기존 디바이스 instance 대한 정보를 검색하고 지정된 디바이스 정보 집합에 추가합니다. |
|
디바이스 정보 집합의 디바이스 정보 요소에 대한 컨텍스트 구조를 반환합니다. |
|
디바이스 정보 요소와 연결된 디바이스 instance ID를 검색합니다. |
|
연결된 클래스가 있는 경우 디바이스 정보 집합과 연결된 클래스 GUID를 검색합니다. |
|
클래스 GUID, 원격 컴퓨터 핸들 및 원격 컴퓨터 이름을 포함하여 디바이스 정보 집합과 연결된 정보를 검색합니다. |
|
지정된 디바이스 정보 요소의 속성 시트 또는 지정된 디바이스 정보 집합의 디바이스 설정 클래스 에 대한 핸들을 검색합니다. |
|
지정된 클래스의 모든 디바이스를 포함하는 디바이스 정보 집합을 반환합니다. |
|
로컬 또는 원격 컴퓨터에서 지정된 클래스의 모든 디바이스를 포함하는 디바이스 정보 집합을 반환합니다. |
|
지정된 디바이스 정보 요소를 디바이스 정보 집합의 현재 선택된 멤버로 설정합니다. 이 함수는 일반적으로 설치 마법사에서 사용됩니다. |
|
지정된 디바이스 정보 집합에 대해 현재 선택된 디바이스를 검색합니다. |
|
새로 만든 디바이스 instance 플러그 앤 플레이 관리자에 등록합니다. |
|
지정된 디바이스 정보 집합에서 멤버를 삭제합니다. 이 함수는 실제 디바이스를 삭제하지 않습니다. |
|
디바이스 정보 집합을 삭제하고 연결된 모든 메모리를 해제합니다. |
드라이버 정보 함수
지정된 디바이스 instance 또는 디바이스 정보 집합의 전역 클래스 드라이버 목록과 연결된 드라이버 목록을 빌드합니다. |
|
드라이버 정보 목록의 멤버를 열거합니다. |
|
지정된 드라이버 정보 요소에 대한 자세한 정보를 검색합니다. |
|
드라이버 목록의 지정된 멤버를 현재 선택된 드라이버로 설정합니다. 현재 선택한 드라이버가 없도록 드라이버 목록을 다시 설정하는 데 사용할 수도 있습니다. |
|
설치할 드라이버로 선택한 드라이버 목록의 멤버를 검색합니다. |
|
현재 다른 스레드에서 진행 중인 드라이버 목록 검색을 취소합니다. |
|
드라이버 정보 목록을 삭제합니다. |
디바이스 설치 처리기
지정된 설치 요청을 사용하여 적절한 클래스 설치 관리자 및 등록된 모든 공동 설치 관리자를 호출합니다. |
|
DIF_PROPERTYCHANGE 요청에 대한 기본 처리기입니다. 설치된 디바이스의 상태를 변경하는 데 사용할 수 있습니다. |
|
지정된 디바이스에 대한 INF 파일에 나열된 디바이스별 공동 설치 관리자를 등록합니다. 이 함수는 DIF_REGISTER_COINSTALLERS 대한 기본 처리기입니다. |
|
DIF_INSTALLDEVICE 요청에 대한 기본 처리기입니다. |
|
DIF_INSTALLDEVICEFILES 요청에 대한 기본 처리기입니다. |
|
DIF_INSTALLINTERFACES 요청에 대한 기본 처리기입니다. DDInstall에 나열된 인터페이스를 설치합니다. 디바이스 INF 파일의 인터페이스 섹션입니다. |
|
이 함수는 사용되지 않으며 Microsoft Windows 버전에서는 사용할 수 없습니다. |
|
DIF_REMOVEDEVICE 요청에 대한 기본 처리기입니다. |
|
DIF_UNREMOVE 요청에 대한 기본 처리기입니다. |
|
DIF_REGISTERDEVICE 요청에 대한 기본 처리기입니다. |
|
DIF_SELECTDEVICE 요청에 대한 기본 처리기입니다. |
|
DIF_SELECTBESTCOMPATDRV 요청에 대한 기본 처리기입니다. |
|
DIF_SELECTDEVICE 요청에 대한 기본 처리기입니다. |
디바이스 설치 사용자 지정 함수
디바이스 정보 집합 또는 특정 디바이스 정보 요소에 대한 클래스 설치 매개 변수를 검색합니다. |
|
디바이스 정보 집합 또는 특정 디바이스 정보 요소에 대한 클래스 설치 매개 변수를 설정하거나 지웁니다. |
|
디바이스 정보 집합 또는 특정 디바이스 정보 요소에 대한 디바이스 설치 매개 변수를 검색합니다. |
|
디바이스 정보 집합 또는 특정 디바이스 정보 요소에 대한 디바이스 설치 매개 변수를 설정합니다. |
|
지정된 드라이버에 대한 설치 매개 변수를 검색합니다. |
|
지정된 드라이버에 대한 설치 매개 변수를 설정합니다. |
클래스 함수 설정
시스템에 설치된 모든 클래스를 포함하는 설치 클래스 GUID 목록을 반환합니다. |
|
로컬 시스템 또는 원격 시스템에 설치된 모든 클래스를 포함하는 설치 클래스 GUID 목록을 반환합니다. |
|
지정된 설치 클래스 GUID와 연결된 클래스 설명을 검색합니다. |
|
로컬 또는 원격 컴퓨터에 설치된 설치 클래스에 대한 설명을 검색합니다. |
|
지정된 디바이스 INF 파일의 클래스를 검색합니다. |
|
지정된 클래스 이름과 연결된 GUID를 검색합니다. 이 목록은 시스템에 현재 설치되어 있는 클래스를 기반으로 빌드됩니다. |
|
지정된 클래스 이름과 연결된 GUID를 검색합니다. 이 결과 목록에는 현재 로컬 또는 원격 컴퓨터에 설치된 클래스가 포함됩니다. |
|
클래스 GUID와 연결된 클래스 이름을 검색합니다. |
|
클래스 GUID와 연결된 클래스 이름을 검색합니다. 클래스는 로컬 또는 원격 컴퓨터에 설치할 수 있습니다. |
|
지정된 INF 파일의 ClassInstall32 섹션을 설치합니다. |
|
클래스 설치 관리자 또는 인터페이스 클래스를 설치합니다. |
|
디바이스 설정 클래스 레지스트리 키 또는 클래스의 특정 하위 키를 엽니다. |
|
디바이스 설정 클래스 레지스트리 키, 디바이스 인터페이스 클래스 레지스트리 키 또는 클래스의 특정 하위 키를 엽니다. 이 함수는 로컬 컴퓨터 또는 원격 컴퓨터에서 지정된 키를 엽니다. |
비트맵 및 아이콘 함수
설치된 모든 클래스에 대한 비트맵이 포함된 이미지 목록을 빌드하고 데이터 구조에서 목록을 반환합니다. |
|
로컬 또는 원격 컴퓨터에 설치된 모든 클래스에 대한 비트맵의 이미지 목록을 빌드합니다. |
|
지정된 클래스의 클래스 이미지 목록 내에서 인덱스를 검색합니다. |
|
지정된 클래스에 대해 제공된 미니 아이콘의 인덱스를 검색합니다. |
|
요청된 위치에 지정된 미니 아이콘을 그립니다. |
|
지정된 클래스의 큰 아이콘과 미니 아이콘을 모두 로드합니다. |
|
지정된 디바이스에 대한 디바이스 아이콘을 로드합니다. (Windows Vista 이상 버전의 Windows) |
|
클래스 이미지 목록을 삭제합니다. |
디바이스 인터페이스 함수
참고
SetupApi는 Windows의 모든 버전에서 지원되지 않습니다. 가능하면CfgMgr32.dll통해 사용할 수 있는 API와 같은 하위 계층 API 를 사용해야 합니다. 팁은 SetupApi에서 CfgMgr32로 포팅 을 참조하세요.
디바이스에 대한 디바이스 기능(디바이스 인터페이스)을 등록합니다. |
|
기존 디바이스 인터페이스에 대한 정보를 검색하고 지정된 디바이스 정보 집합에 추가합니다. |
|
지정된 디바이스 인터페이스의 별칭을 반환합니다. |
|
지정된 클래스의 모든 디바이스를 포함하는 디바이스 정보 집합을 반환합니다. |
|
로컬 또는 원격 컴퓨터에서 지정된 클래스의 모든 디바이스를 포함하는 디바이스 정보 집합을 반환합니다. |
|
디바이스 정보 집합의 디바이스 인터페이스 요소에 대한 컨텍스트 구조를 반환합니다. 각 호출은 하나의 디바이스 인터페이스에 대한 정보를 반환합니다. 함수를 반복적으로 호출하여 하나 이상의 디바이스에서 노출하는 여러 인터페이스에 대한 정보를 가져올 수 있습니다. |
|
특정 디바이스 인터페이스에 대한 세부 정보를 반환합니다. |
|
instance 디바이스 인터페이스에 대한 정보를 저장하기 위한 레지스트리 하위 키를 만들고 키에 대한 핸들을 반환합니다. |
|
애플리케이션 및 드라이버에서 디바이스 인터페이스 instance 관련된 정보를 저장하는 데 사용되는 레지스트리 하위 키를 열고 키에 대한 핸들을 반환합니다. |
|
애플리케이션 및 드라이버에서 디바이스 인터페이스 instance 관련된 정보를 저장하는 데 사용한 레지스트리 하위 키를 삭제합니다. |
|
DIF_INSTALLINTERFACES 요청에 대한 기본 처리기입니다. DDInstall에 나열된 인터페이스를 설치합니다. 디바이스 INF 파일의 인터페이스 섹션입니다. |
|
시스템에서 등록된 디바이스 인터페이스를 제거합니다. |
|
디바이스 정보 집합에서 디바이스 인터페이스를 삭제합니다. |
|
지정된 디바이스 인터페이스를 디바이스 클래스의 기본 인터페이스로 설정합니다. |
|
클래스 설치 관리자 또는 인터페이스 클래스를 설치합니다. |
|
디바이스 설정 클래스 레지스트리 키, 디바이스 인터페이스 클래스 레지스트리 키 또는 클래스의 특정 하위 키를 엽니다. 이 함수는 로컬 컴퓨터 또는 원격 컴퓨터에서 지정된 키를 엽니다. |
디바이스 속성 함수(Windows Vista 이상)
참고
SetupApi는 Windows의 모든 버전에서 지원되지 않습니다. 가능하면CfgMgr32.dll통해 사용할 수 있는 것과 같은 하위 계층 API 를 사용해야 합니다. 팁은 SetupApi에서 CfgMgr32로 포팅 을 참조하세요.
디바이스 설정 클래스 또는 디바이스 인터페이스 클래스에 대해 설정된 디바이스 속성을 검색합니다. |
|
로컬 또는 원격 컴퓨터에서 디바이스 설정 클래스 또는 디바이스 인터페이스 클래스에 대한 클래스 속성을 검색합니다. |
|
디바이스 설정 클래스 또는 디바이스 인터페이스 클래스에 대해 설정된 디바이스 속성을 나타내는 디바이스 속성 키의 배열을 검색합니다. |
|
로컬 또는 원격 컴퓨터에서 디바이스 설정 클래스 또는 디바이스 인터페이스 클래스에 대해 설정된 디바이스 속성을 나타내는 디바이스 속성 키의 배열을 검색합니다. |
|
디바이스 인터페이스에 대해 설정된 디바이스 속성을 검색합니다. |
|
디바이스 인터페이스에 대해 설정된 디바이스 속성을 나타내는 디바이스 속성 키의 배열을 검색합니다. |
|
디바이스 instance 속성을 검색합니다. |
|
디바이스 instance 대해 설정된 디바이스 속성을 나타내는 디바이스 속성 키의 배열을 검색합니다. |
|
디바이스 설정 클래스 또는 디바이스 인터페이스 클래스에 대한 클래스 속성을 설정합니다. |
|
로컬 또는 원격 컴퓨터에서 디바이스 설정 클래스 또는 디바이스 인터페이스 클래스에 대한 디바이스 속성을 설정합니다. |
|
디바이스 인터페이스의 디바이스 속성을 설정합니다. |
|
디바이스 instance 속성을 설정합니다. |
레지스트리 함수
참고
SetupApi는 Windows의 모든 버전에서 지원되지 않습니다. 가능하면CfgMgr32.dll통해 사용할 수 있는 것과 같은 하위 계층 API 를 사용해야 합니다. 팁은 SetupApi에서 CfgMgr32로 포팅 을 참조하세요.
디바이스별 구성 정보에 대한 레지스트리 스토리지 키를 만들고 키에 대한 핸들을 반환합니다. |
|
디바이스별 구성 정보에 대한 레지스트리 스토리지 키를 열고 키에 대한 핸들을 반환합니다. |
|
디바이스 정보 요소와 연결된 지정된 사용자 액세스 가능 레지스트리 키를 삭제합니다. |
|
설정 클래스 레지스트리 키 또는 클래스의 특정 하위 키를 엽니다. |
|
디바이스 설정 클래스 레지스트리 키, 디바이스 인터페이스 클래스 레지스트리 키 또는 클래스의 특정 하위 키를 엽니다. 이 함수는 로컬 컴퓨터 또는 원격 컴퓨터에서 지정된 키를 엽니다. |
|
디바이스 인터페이스 instance 대한 정보를 저장하기 위한 비휘발성 레지스트리 하위 키를 만들고 키에 대한 핸들을 반환합니다. |
|
애플리케이션 및 드라이버에서 디바이스 인터페이스 instance 관련된 정보를 저장하는 데 사용되는 레지스트리 하위 키를 열고 키에 대한 핸들을 반환합니다. |
|
애플리케이션 및 드라이버에서 디바이스 인터페이스 instance 관련된 정보를 저장하는 데 사용한 레지스트리 하위 키를 삭제합니다. |
|
지정된 플러그 앤 플레이 디바이스 속성을 설정합니다. |
|
지정된 플러그 앤 플레이 디바이스 속성을 검색합니다. |
|
레지스트리에서 지정된 디바이스 클래스 속성을 검색합니다. |
|
레지스트리에서 지정된 디바이스 클래스 속성을 설정합니다. |
기타 함수
디바이스 INF 파일에서 디바이스를 설치할 때 사용할 적절한 데코레이팅된 INF 모델 섹션 을 검색합니다. |
|
디바이스 INF 파일에서 디바이스를 설치할 때 사용할 적절한 DDInstall 섹션을 검색합니다. |
|
지정된 운영 체제 및 프로세서 아키텍처에 대한 디바이스를 설치하는 INF DDInstall 섹션의 이름을 검색합니다. |
|
하드웨어 프로필 ID와 연결된 식별 이름을 검색합니다. |
|
로컬 또는 원격 컴퓨터의 하드웨어 프로필 ID와 연결된 식별 이름을 검색합니다. |
|
현재 정의된 모든 하드웨어 프로필 ID 목록을 검색합니다. |
|
로컬 또는 원격 컴퓨터에서 현재 정의된 모든 하드웨어 프로필 ID 목록을 검색합니다. |
|
지정된 디바이스를 다시 시작하거나 필요한 경우 동일한 함수에서 작동하는 모든 디바이스를 시작하고 지정된 디바이스와 드라이버를 필터링합니다. |