DIF_INSTALLDEVICEFILES
DIF_INSTALLDEVICEFILES 요청을 사용하면 설치 관리자가 디바이스를 지원하거나 디바이스에 대한 파일 목록을 만들기 위해 파일 복사에 참여할 수 있습니다. 디바이스 파일에는 선택한 드라이버, 모든 디바이스 인터페이스 및 모든 공동 설치 관리자에 대한 파일이 포함됩니다.
보낸 경우
시스템에서 제공하는 디바이스 설치 구성 요소는 다양한 이유로 이 DIF 요청을 보냅니다. 일부 디바이스 설치 구성 요소는 설치를 진행하기 전에 모든 관련 파일을 복사할 수 있도록 DIF_REGISTER_COINSTALLERS, DIF_INSTALLINTERFACES 및 DIF_INSTALL_DEVICE 전에 이 DIF 요청을 보냅니다. 일부 디바이스 설치 구성 요소는 이 DIF 요청을 생략하고 이러한 세 가지 DIF 요청을 처리하는 동안 파일이 복사될 것으로 예상합니다. 또한 일부 디바이스 설치 구성 요소는 이 DIF 요청을 보내 디바이스와 연결된 파일 목록을 검색합니다.
처리할 사람
클래스 공동 설치 관리자 |
처리 가능 |
디바이스 공동 설치 관리자 |
처리하지 않음 |
클래스 설치 관리자 |
처리 가능 |
설치 관리자 입력
DeviceInfoSet
지원 파일을 복사할 디바이스가 포함된 디바이스 정보 집합 에 핸들을 제공합니다.
DeviceInfoData
디바이스 정보 집합에서 디바이스를 식별하는 SP_DEVINFO_DATA 구조체에 대한 포인터를 제공합니다.
디바이스 설치 매개 변수
DeviceInfoData와 연결된 디바이스 설치 매개 변수(SP_DEVINSTALL_PARAMS)가 있습니다.
DI_NOVCP 플래그가 설정된 경우 디바이스 설치 매개 변수에는 유효한 FileQueue 핸들과 이 DIF 요청을 처리하는 설치 관리자가 이 큐에 파일 작업을 추가하고 큐를 커밋하지 않습니다.
설치 관리자 출력
디바이스 설치 매개 변수
설치 관리자가 있는 경우 FileQueue를 수정할 수 있습니다.
설치 관리자 반환 값
공동 설치 관리자는 NO_ERROR, ERROR_DI_POSTPROCESSING_REQUIRED 또는 Win32 오류 코드를 반환할 수 있습니다.
클래스 설치 관리자가 이 요청을 성공적으로 처리하고 SetupDiCallClassInstaller 가 이후에 기본 처리기를 호출해야 하는 경우 클래스 설치 관리자는 ERROR_DI_DO_DEFAULT 반환합니다.
클래스 설치 관리자가 기본 처리기를 직접 호출하는 것을 포함하여 이 요청을 성공적으로 처리하는 경우 클래스 설치 관리자는 NO_ERROR 반환해야 하며 SetupDiCallClassInstaller 는 이후에 기본 처리기를 다시 호출하지 않습니다.
참고 클래스 설치 관리자는 기본 처리기를 직접 호출할 수 있지만 클래스 설치 관리자는 기본 처리기의 작업을 대체하려고 시도해서는 안 됩니다.
기본 처리기를 호출하는 방법에 대한 자세한 내용은 기본 DIF 코드 처리기 호출을 참조하세요.
클래스 설치 관리자에 오류가 발생하면 설치 관리자는 적절한 Win32 오류 코드를 반환해야 하며 SetupDiCallClassInstaller 는 이후에 기본 처리기를 호출하지 않습니다.
기본 DIF 코드 처리기
설치 관리자 작업
DIF_INSTALLDEVICEFILES 요청에 대한 응답으로 설치 관리자는 필요한 모든 파일 작업을 지정합니다. 예를 들어 설치 관리자는 디바이스 설치에 필요한 추가 파일을 복사하도록 지정할 수 있습니다. DI_NOVCP 플래그가 설정된 경우 설치 관리자는 파일 작업을 디바이스 설치 매개 변수의 FileQueue 에 추가하여 지정합니다. 파일 큐를 사용하는 방법과 SetupInstallFilesFromInfSection과 같은 파일 큐 함수의 참조 페이지에 대한 자세한 내용은 Microsoft Windows SDK 참조하세요.
디바이스 설치 중에 이 DIF 요청이 전송되고 설치 관리자가 Microsoft Win32 오류 코드를 반환하면 Windows에서 설치를 중지합니다.
시스템 제공 디바이스 설치 구성 요소가 디바이스와 연결된 파일 목록을 검색하기 위해 이 DIF 요청을 보내는 경우 구성 요소는 파일 큐를 검색하지만 큐를 커밋하지는 않습니다.
DIF 코드에 대한 자세한 내용은 DIF 코드 처리를 참조하세요.
요구 사항
Version |
Microsoft Windows 2000 이상 버전의 Windows에서 지원됩니다. |
헤더 |
Setupapi.h(Setupapi.h 포함) |