디바이스 설치 함수 사용

이 섹션에서는 디바이스 설치 기능을 요약합니다. 설치 소프트웨어는 디바이스 설치 기능을 사용하여 다음과 같은 유형의 작업을 수행할 수 있습니다.

  • 드라이버 설치

  • DIF 코드를 처리합니다.

  • 디바이스 정보 집합을 관리합니다.

  • 드라이버 목록을 관리합니다.

  • 디바이스 인터페이스를 관리합니다.

  • 아이콘 및 기타 비트맵을 관리합니다.

다음 표에서는 다음 유형의 함수에 대한 요약을 제공합니다.

드라이버 설치 함수

디바이스 정보 함수

드라이버 정보 함수

디바이스 설치 처리기

디바이스 설치 사용자 지정 함수

클래스 함수 설정

비트맵 및 아이콘 함수

디바이스 인터페이스 함수

디바이스 속성 함수(Windows Vista 이상)

레지스트리 함수

기타 함수

드라이버 설치 함수

DiInstallDevice

시스템에 있는 PnP 디바이스의 드라이버 저장소 에 미리 설치된 지정된 드라이버 패키지를 설치합니다. (Windows Vista 이상 버전의 Windows)

DiUninstallDevice

디바이스를 제거하고 시스템에서 디바이스 노드(devnode)를 제거합니다. (Windows 7 이상 버전의 Windows)

DiInstallDriver

드라이버 저장소에 드라이버 패키지를 사전 설치한 다음 시스템에 있는 일치하는 PnP 디바이스에 드라이버 패키지를 설치합니다. (Windows Vista 이상 버전의 Windows)

DiUninstallDriver

드라이버 저장소에서 드라이버 패키지를 제거합니다. (Windows 10 버전 1703 이상 버전의 Windows)

UpdateDriverForPlugAndPlayDevices

시스템에 있는 PnP 디바이스와 일치하기 위해 설치된 드라이버 패키지를 업데이트.

DiRollbackDriver

지정된 디바이스에 설치된 드라이버 패키지를 디바이스에 설정된 백업 드라이버 패키지로 롤백합니다. (Windows Vista 이상 버전의 Windows)

디바이스 정보 함수

참고

SetupApi는 Windows의 모든 버전에서 지원되지 않습니다. 가능하면CfgMgr32.dll통해 사용할 수 있는 것과 같은 하위 계층 API 를 사용해야 합니다. 팁은 SetupApi에서 CfgMgr32로 포팅 을 참조하세요.

SetupDiCreateDeviceInfoList

디바이스 정보 집합을 만듭니다. 이 집합은 클래스 GUID와 연결할 수 있습니다.

SetupDiCreateDeviceInfoListEx

빈 디바이스 정보 집합을 만듭니다. 이 집합은 클래스 GUID와 연결될 수 있으며 원격 컴퓨터의 디바이스용일 수 있습니다.

SetupDiCreateDeviceInfo

새 디바이스 정보 요소를 만들고 지정된 디바이스 정보 집합에 새 멤버로 추가합니다.

SetupDiOpenDeviceInfo

기존 디바이스 instance 대한 정보를 검색하고 지정된 디바이스 정보 집합에 추가합니다.

SetupDiEnumDeviceInfo

디바이스 정보 집합의 디바이스 정보 요소에 대한 컨텍스트 구조를 반환합니다.

SetupDiGetDeviceInstanceId

디바이스 정보 요소와 연결된 디바이스 instance ID를 검색합니다.

SetupDiGetDeviceInfoListClass

연결된 클래스가 있는 경우 디바이스 정보 집합과 연결된 클래스 GUID를 검색합니다.

SetupDiGetDeviceInfoListDetail

클래스 GUID, 원격 컴퓨터 핸들 및 원격 컴퓨터 이름을 포함하여 디바이스 정보 집합과 연결된 정보를 검색합니다.

SetupDiGetClassDevPropertySheets

지정된 디바이스 정보 요소의 속성 시트 또는 지정된 디바이스 정보 집합의 디바이스 설정 클래스 에 대한 핸들을 검색합니다.

SetupDiGetClassDevs

지정된 클래스의 모든 디바이스를 포함하는 디바이스 정보 집합을 반환합니다.

SetupDiGetClassDevsEx

로컬 또는 원격 컴퓨터에서 지정된 클래스의 모든 디바이스를 포함하는 디바이스 정보 집합을 반환합니다.

SetupDiSetSelectedDevice

지정된 디바이스 정보 요소를 디바이스 정보 집합의 현재 선택된 멤버로 설정합니다. 이 함수는 일반적으로 설치 마법사에서 사용됩니다.

SetupDiGetSelectedDevice

지정된 디바이스 정보 집합에 대해 현재 선택된 디바이스를 검색합니다.

SetupDiRegisterDeviceInfo

새로 만든 디바이스 instance 플러그 앤 플레이 관리자에 등록합니다.

SetupDiDeleteDeviceInfo

지정된 디바이스 정보 집합에서 멤버를 삭제합니다. 이 함수는 실제 디바이스를 삭제하지 않습니다.

SetupDiDestroyDeviceInfoList

디바이스 정보 집합을 삭제하고 연결된 모든 메모리를 해제합니다.

드라이버 정보 함수

SetupDiBuildDriverInfoList

지정된 디바이스 instance 또는 디바이스 정보 집합의 전역 클래스 드라이버 목록과 연결된 드라이버 목록을 빌드합니다.

SetupDiEnumDriverInfo

드라이버 정보 목록의 멤버를 열거합니다.

SetupDiGetDriverInfoDetail

지정된 드라이버 정보 요소에 대한 자세한 정보를 검색합니다.

SetupDiSetSelectedDriver

드라이버 목록의 지정된 멤버를 현재 선택된 드라이버로 설정합니다. 현재 선택한 드라이버가 없도록 드라이버 목록을 다시 설정하는 데 사용할 수도 있습니다.

SetupDiGetSelectedDriver

설치할 드라이버로 선택한 드라이버 목록의 멤버를 검색합니다.

SetupDiCancelDriverInfoSearch

현재 다른 스레드에서 진행 중인 드라이버 목록 검색을 취소합니다.

SetupDiDestroyDriverInfoList

드라이버 정보 목록을 삭제합니다.

디바이스 설치 처리기

SetupDiCallClassInstaller

지정된 설치 요청을 사용하여 적절한 클래스 설치 관리자 및 등록된 모든 공동 설치 관리자를 호출합니다.

SetupDiChangeState

DIF_PROPERTYCHANGE 요청에 대한 기본 처리기입니다. 설치된 디바이스의 상태를 변경하는 데 사용할 수 있습니다.

SetupDiRegisterCoDeviceInstallers

지정된 디바이스에 대한 INF 파일에 나열된 디바이스별 공동 설치 관리자를 등록합니다. 이 함수는 DIF_REGISTER_COINSTALLERS 대한 기본 처리기입니다.

SetupDiInstallDevice

DIF_INSTALLDEVICE 요청에 대한 기본 처리기입니다.

SetupDiInstallDriverFiles

DIF_INSTALLDEVICEFILES 요청에 대한 기본 처리기입니다.

SetupDiInstallDeviceInterfaces

DIF_INSTALLINTERFACES 요청에 대한 기본 처리기입니다. DDInstall에 나열된 인터페이스를 설치합니다. 디바이스 INF 파일의 인터페이스 섹션입니다.

SetupDiMoveDuplicateDevice

이 함수는 사용되지 않으며 Microsoft Windows 버전에서는 사용할 수 없습니다.

SetupDiRemoveDevice

DIF_REMOVEDEVICE 요청에 대한 기본 처리기입니다.

SetupDiUnremoveDevice

DIF_UNREMOVE 요청에 대한 기본 처리기입니다.

SetupDiRegisterDeviceInfo

DIF_REGISTERDEVICE 요청에 대한 기본 처리기입니다.

SetupDiSelectDevice

DIF_SELECTDEVICE 요청에 대한 기본 처리기입니다.

SetupDiSelectBestCompatDrv

DIF_SELECTBESTCOMPATDRV 요청에 대한 기본 처리기입니다.

SetupDiSelectDevice

DIF_SELECTDEVICE 요청에 대한 기본 처리기입니다.

디바이스 설치 사용자 지정 함수

SetupDiGetClassInstallParams

디바이스 정보 집합 또는 특정 디바이스 정보 요소에 대한 클래스 설치 매개 변수를 검색합니다.

SetupDiSetClassInstallParams

디바이스 정보 집합 또는 특정 디바이스 정보 요소에 대한 클래스 설치 매개 변수를 설정하거나 지웁니다.

SetupDiGetDeviceInstallParams

디바이스 정보 집합 또는 특정 디바이스 정보 요소에 대한 디바이스 설치 매개 변수를 검색합니다.

SetupDiSetDeviceInstallParams

디바이스 정보 집합 또는 특정 디바이스 정보 요소에 대한 디바이스 설치 매개 변수를 설정합니다.

SetupDiGetDriverInstallParams

지정된 드라이버에 대한 설치 매개 변수를 검색합니다.

SetupDiSetDriverInstallParams

지정된 드라이버에 대한 설치 매개 변수를 설정합니다.

클래스 함수 설정

SetupDiBuildClassInfoList

시스템에 설치된 모든 클래스를 포함하는 설치 클래스 GUID 목록을 반환합니다.

SetupDiBuildClassInfoListEx

로컬 시스템 또는 원격 시스템에 설치된 모든 클래스를 포함하는 설치 클래스 GUID 목록을 반환합니다.

SetupDiGetClassDescription

지정된 설치 클래스 GUID와 연결된 클래스 설명을 검색합니다.

SetupDiGetClassDescriptionEx

로컬 또는 원격 컴퓨터에 설치된 설치 클래스에 대한 설명을 검색합니다.

SetupDiGetINFClass

지정된 디바이스 INF 파일의 클래스를 검색합니다.

SetupDiClassGuidsFromName

지정된 클래스 이름과 연결된 GUID를 검색합니다. 이 목록은 시스템에 현재 설치되어 있는 클래스를 기반으로 빌드됩니다.

SetupDiClassGuidsFromNameEx

지정된 클래스 이름과 연결된 GUID를 검색합니다. 이 결과 목록에는 현재 로컬 또는 원격 컴퓨터에 설치된 클래스가 포함됩니다.

SetupDiClassNameFromGuid

클래스 GUID와 연결된 클래스 이름을 검색합니다.

SetupDiClassNameFromGuidEx

클래스 GUID와 연결된 클래스 이름을 검색합니다. 클래스는 로컬 또는 원격 컴퓨터에 설치할 수 있습니다.

SetupDiInstallClass

지정된 INF 파일의 ClassInstall32 섹션을 설치합니다.

SetupDiInstallClassEx

클래스 설치 관리자 또는 인터페이스 클래스를 설치합니다.

SetupDiOpenClassRegKey

디바이스 설정 클래스 레지스트리 키 또는 클래스의 특정 하위 키를 엽니다.

SetupDiOpenClassRegKeyEx

디바이스 설정 클래스 레지스트리 키, 디바이스 인터페이스 클래스 레지스트리 키 또는 클래스의 특정 하위 키를 엽니다. 이 함수는 로컬 컴퓨터 또는 원격 컴퓨터에서 지정된 키를 엽니다.

비트맵 및 아이콘 함수

SetupDiGetClassImageList

설치된 모든 클래스에 대한 비트맵이 포함된 이미지 목록을 빌드하고 데이터 구조에서 목록을 반환합니다.

SetupDiGetClassImageListEx

로컬 또는 원격 컴퓨터에 설치된 모든 클래스에 대한 비트맵의 이미지 목록을 빌드합니다.

SetupDiGetClassImageIndex

지정된 클래스의 클래스 이미지 목록 내에서 인덱스를 검색합니다.

SetupDiGetClassBitmapIndex

지정된 클래스에 대해 제공된 미니 아이콘의 인덱스를 검색합니다.

SetupDiDrawMiniIcon

요청된 위치에 지정된 미니 아이콘을 그립니다.

SetupDiLoadClassIcon

지정된 클래스의 큰 아이콘과 미니 아이콘을 모두 로드합니다.

SetupDiLoadDeviceIcon

지정된 디바이스에 대한 디바이스 아이콘을 로드합니다. (Windows Vista 이상 버전의 Windows)

SetupDiDestroyClassImageList

클래스 이미지 목록을 삭제합니다.

디바이스 인터페이스 함수

참고

SetupApi는 Windows의 모든 버전에서 지원되지 않습니다. 가능하면CfgMgr32.dll통해 사용할 수 있는 API와 같은 하위 계층 API 를 사용해야 합니다. 팁은 SetupApi에서 CfgMgr32로 포팅 을 참조하세요.

SetupDiCreateDeviceInterface

디바이스에 대한 디바이스 기능(디바이스 인터페이스)을 등록합니다.

SetupDiOpenDeviceInterface

기존 디바이스 인터페이스에 대한 정보를 검색하고 지정된 디바이스 정보 집합에 추가합니다.

SetupDiGetDeviceInterfaceAlias

지정된 디바이스 인터페이스의 별칭을 반환합니다.

SetupDiGetClassDevs

지정된 클래스의 모든 디바이스를 포함하는 디바이스 정보 집합을 반환합니다.

SetupDiGetClassDevsEx

로컬 또는 원격 컴퓨터에서 지정된 클래스의 모든 디바이스를 포함하는 디바이스 정보 집합을 반환합니다.

SetupDiEnumDeviceInterfaces

디바이스 정보 집합의 디바이스 인터페이스 요소에 대한 컨텍스트 구조를 반환합니다. 각 호출은 하나의 디바이스 인터페이스에 대한 정보를 반환합니다.

함수를 반복적으로 호출하여 하나 이상의 디바이스에서 노출하는 여러 인터페이스에 대한 정보를 가져올 수 있습니다.

SetupDiGetDeviceInterfaceDetail

특정 디바이스 인터페이스에 대한 세부 정보를 반환합니다.

SetupDiCreateDeviceInterfaceRegKey

instance 디바이스 인터페이스에 대한 정보를 저장하기 위한 레지스트리 하위 키를 만들고 키에 대한 핸들을 반환합니다.

SetupDiOpenDeviceInterfaceRegKey

애플리케이션 및 드라이버에서 디바이스 인터페이스 instance 관련된 정보를 저장하는 데 사용되는 레지스트리 하위 키를 열고 키에 대한 핸들을 반환합니다.

SetupDiDeleteDeviceInterfaceRegKey

애플리케이션 및 드라이버에서 디바이스 인터페이스 instance 관련된 정보를 저장하는 데 사용한 레지스트리 하위 키를 삭제합니다.

SetupDiInstallDeviceInterfaces

DIF_INSTALLINTERFACES 요청에 대한 기본 처리기입니다. DDInstall에 나열된 인터페이스를 설치합니다. 디바이스 INF 파일의 인터페이스 섹션입니다.

SetupDiRemoveDeviceInterface

시스템에서 등록된 디바이스 인터페이스를 제거합니다.

SetupDiDeleteDeviceInterfaceData

디바이스 정보 집합에서 디바이스 인터페이스를 삭제합니다.

SetupDiSetDeviceInterfaceDefault

지정된 디바이스 인터페이스를 디바이스 클래스의 기본 인터페이스로 설정합니다.

SetupDiInstallClassEx

클래스 설치 관리자 또는 인터페이스 클래스를 설치합니다.

SetupDiOpenClassRegKeyEx

디바이스 설정 클래스 레지스트리 키, 디바이스 인터페이스 클래스 레지스트리 키 또는 클래스의 특정 하위 키를 엽니다. 이 함수는 로컬 컴퓨터 또는 원격 컴퓨터에서 지정된 키를 엽니다.

디바이스 속성 함수(Windows Vista 이상)

참고

SetupApi는 Windows의 모든 버전에서 지원되지 않습니다. 가능하면CfgMgr32.dll통해 사용할 수 있는 것과 같은 하위 계층 API 를 사용해야 합니다. 팁은 SetupApi에서 CfgMgr32로 포팅 을 참조하세요.

SetupDiGetClassProperty

디바이스 설정 클래스 또는 디바이스 인터페이스 클래스에 대해 설정된 디바이스 속성을 검색합니다.

SetupDiGetClassPropertyEx

로컬 또는 원격 컴퓨터에서 디바이스 설정 클래스 또는 디바이스 인터페이스 클래스에 대한 클래스 속성을 검색합니다.

SetupDiGetClassPropertyKeys

디바이스 설정 클래스 또는 디바이스 인터페이스 클래스에 대해 설정된 디바이스 속성을 나타내는 디바이스 속성 키의 배열을 검색합니다.

SetupDiGetClassPropertyKeysEx

로컬 또는 원격 컴퓨터에서 디바이스 설정 클래스 또는 디바이스 인터페이스 클래스에 대해 설정된 디바이스 속성을 나타내는 디바이스 속성 키의 배열을 검색합니다.

SetupDiGetDeviceInterfaceProperty

디바이스 인터페이스에 대해 설정된 디바이스 속성을 검색합니다.

SetupDiGetDeviceInterfacePropertyKeys

디바이스 인터페이스에 대해 설정된 디바이스 속성을 나타내는 디바이스 속성 키의 배열을 검색합니다.

SetupDiGetDeviceProperty

디바이스 instance 속성을 검색합니다.

SetupDiGetDevicePropertyKeys

디바이스 instance 대해 설정된 디바이스 속성을 나타내는 디바이스 속성 키의 배열을 검색합니다.

SetupDiSetClassProperty

디바이스 설정 클래스 또는 디바이스 인터페이스 클래스에 대한 클래스 속성을 설정합니다.

SetupDiSetClassPropertyEx

로컬 또는 원격 컴퓨터에서 디바이스 설정 클래스 또는 디바이스 인터페이스 클래스에 대한 디바이스 속성을 설정합니다.

SetupDiSetDeviceInterfaceProperty

디바이스 인터페이스의 디바이스 속성을 설정합니다.

SetupDiSetDeviceProperty

디바이스 instance 속성을 설정합니다.

레지스트리 함수

참고

SetupApi는 Windows의 모든 버전에서 지원되지 않습니다. 가능하면CfgMgr32.dll통해 사용할 수 있는 것과 같은 하위 계층 API 를 사용해야 합니다. 팁은 SetupApi에서 CfgMgr32로 포팅 을 참조하세요.

SetupDiCreateDevRegKey

디바이스별 구성 정보에 대한 레지스트리 스토리지 키를 만들고 키에 대한 핸들을 반환합니다.

SetupDiOpenDevRegKey

디바이스별 구성 정보에 대한 레지스트리 스토리지 키를 열고 키에 대한 핸들을 반환합니다.

SetupDiDeleteDevRegKey

디바이스 정보 요소와 연결된 지정된 사용자 액세스 가능 레지스트리 키를 삭제합니다.

SetupDiOpenClassRegKey

설정 클래스 레지스트리 키 또는 클래스의 특정 하위 키를 엽니다.

SetupDiOpenClassRegKeyEx

디바이스 설정 클래스 레지스트리 키, 디바이스 인터페이스 클래스 레지스트리 키 또는 클래스의 특정 하위 키를 엽니다.

이 함수는 로컬 컴퓨터 또는 원격 컴퓨터에서 지정된 키를 엽니다.

SetupDiCreateDeviceInterfaceRegKey

디바이스 인터페이스 instance 대한 정보를 저장하기 위한 비휘발성 레지스트리 하위 키를 만들고 키에 대한 핸들을 반환합니다.

SetupDiOpenDeviceInterfaceRegKey

애플리케이션 및 드라이버에서 디바이스 인터페이스 instance 관련된 정보를 저장하는 데 사용되는 레지스트리 하위 키를 열고 키에 대한 핸들을 반환합니다.

SetupDiDeleteDeviceInterfaceRegKey

애플리케이션 및 드라이버에서 디바이스 인터페이스 instance 관련된 정보를 저장하는 데 사용한 레지스트리 하위 키를 삭제합니다.

SetupDiSetDeviceRegistryProperty

지정된 플러그 앤 플레이 디바이스 속성을 설정합니다.

SetupDiGetDeviceRegistryProperty

지정된 플러그 앤 플레이 디바이스 속성을 검색합니다.

SetupDiGetClassRegistryProperty

레지스트리에서 지정된 디바이스 클래스 속성을 검색합니다.

SetupDiSetClassRegistryProperty

레지스트리에서 지정된 디바이스 클래스 속성을 설정합니다.

기타 함수

SetupDiGetActualModelsSection

디바이스 INF 파일에서 디바이스를 설치할 때 사용할 적절한 데코레이팅된 INF 모델 섹션 을 검색합니다.

SetupDiGetActualSectionToInstall

디바이스 INF 파일에서 디바이스를 설치할 때 사용할 적절한 DDInstall 섹션을 검색합니다.

SetupDiGetActualSectionToInstallEx

지정된 운영 체제 및 프로세서 아키텍처에 대한 디바이스를 설치하는 INF DDInstall 섹션의 이름을 검색합니다.

SetupDiGetHwProfileFriendlyName

하드웨어 프로필 ID와 연결된 식별 이름을 검색합니다.

SetupDiGetHwProfileFriendlyNameEx

로컬 또는 원격 컴퓨터의 하드웨어 프로필 ID와 연결된 식별 이름을 검색합니다.

SetupDiGetHwProfileList

현재 정의된 모든 하드웨어 프로필 ID 목록을 검색합니다.

SetupDiGetHwProfileListEx

로컬 또는 원격 컴퓨터에서 현재 정의된 모든 하드웨어 프로필 ID 목록을 검색합니다.

SetupDiRestartDevices

지정된 디바이스를 다시 시작하거나 필요한 경우 동일한 함수에서 작동하는 모든 디바이스를 시작하고 지정된 디바이스와 드라이버를 필터링합니다.