DIF_DETECT
DIF_DETECT 요청은 설치 관리자에게 특정 클래스의 비 PnP 디바이스를 검색하고 디바이스 정보 집합에 디바이스를 추가하도록 지시합니다. 이 요청은 PnP가 아닌 디바이스에 사용됩니다.
보낸 경우
하드웨어 추가 마법사가 PnP가 아닌 디바이스를 검색하는 경우
처리할 사람
클래스 공동 설치 관리자 |
처리 가능 |
디바이스 공동 설치 관리자 |
처리하지 않음 |
클래스 설치 관리자 |
처리 가능 |
설치 관리자 입력
DeviceInfoSet
디바이스 정보 집합에 핸들을 제공합니다.
DeviceInfoSet과 연결된 디바이스 설정 클래스가 있습니다.
디바이스 설치 매개 변수
DeviceInfoSet과 연결된 디바이스 설치 매개 변수가 있습니다.
클래스 설치 매개 변수
SP_DETECTDEVICE_PARAMS 구조체는 DeviceInfoSet과 연결됩니다. 매개 변수에는 클래스 설치 관리자가 검색 작업의 진행률을 나타내기 위해 호출하는 콜백 루틴이 포함되어 있습니다.
설치 관리자 출력
DeviceInfoSet
설치 관리자는 디바이스가 이전에 검색 및 설치되었는지 여부에 관계없이 검색되는 각 디바이스의 DeviceInfoSet 에 디바이스 정보 요소를 추가합니다.
디바이스 설치 매개 변수
설치 관리자는 DeviceInfoSet 또는 새로 만드는 디바이스 정보 요소에 대한 디바이스 설치 매개 변수를 수정할 수 있습니다.
설치 관리자 반환 값
공동 설치 관리자가 디바이스를 검색하지 않으면 전처리 패스에서 NO_ERROR 반환합니다. 공동 설치 관리자가 디바이스를 검색하는 경우 전처리 또는 후처리 중에 이를 수행하고 NO_ERROR 또는 Win32 오류 코드를 반환할 수 있습니다.
클래스 설치 관리자가 디바이스를 검색하면 NO_ERROR 또는 적절한 Win32 오류 코드가 반환됩니다. 클래스 설치 관리자가 이 DIF 요청을 처리하지 않으면 ERROR_DI_DO_DEFAULT 반환합니다.
기본 DIF 코드 처리기
없음
설치 관리자 작업
DIF_DETECT 요청에 대한 응답으로 설치 관리자는 해당 설정 클래스의 디바이스를 검색할 수 있습니다.
설치 관리자가 디바이스를 검색하는 경우 적어도 다음을 수행해야 합니다.
검색에 상당한 시간이 걸리는 경우 SP_DETECTDEVICE_PARAMS 클래스 설치 매개 변수에서 DetectProgressNotify 콜백 루틴을 호출합니다.
설치 관리자가 검색하는 각 디바이스에 대해 다음을 수행해야 합니다.
디바이스 정보 요소(SetupDiCreateDeviceInfo)를 만듭니다.
드라이버 선택에 대한 정보를 제공합니다.
설치 관리자는 디바이스에 대한 드라이버를 수동으로 선택하거나 설치 관리자가 Windows에서 디바이스에 대한 INF를 찾는 데 사용할 디바이스의 하드웨어 ID를 설정할 수 있습니다. 설치 관리자는 속성 값이 SPDRP_HARDWAREID SetupDiSetDeviceRegistryProperty를 호출하여 하드웨어 ID를 설정합니다.
일부 디바이스 설치 매개 변수를 설정할 수 있습니다.
성공적인 검색을 위해 NO_ERROR 반환하거나 Win32 오류 코드를 반환합니다.
하나 이상의 설치 관리자가 이 DIF 코드에 대한 응답으로 디바이스를 검색하는 경우 Windows는 검색된 디바이스 목록을 현재 디바이스 목록과 비교합니다. 설치 관리자가 새 디바이스를 감지한 경우 Windows에서 디바이스 설치를 시도합니다. 설치 관리자가 설치 프로그램 목록에 표시되는 디바이스를 생략한 경우 Windows는 일반적으로 디바이스를 제거합니다.
GUI 모드 설정 중에 비 PnP 디바이스를 검색하려면 설치 관리자가 DIF_FIRSTTIMESETUP 요청을 처리해야 합니다. GUI 모드 설정은 설치 관리자에게 DIF_DETECT 요청을 보내지 않습니다.
DIF 코드에 대한 자세한 내용은 DIF 코드 처리를 참조하세요.
요구 사항
Version |
Microsoft Windows 2000 이상 버전의 Windows에서 지원됩니다. |
헤더 |
Setupapi.h(Setupapi.h 포함) |