다음을 통해 공유


DIF_UNREMOVE

DIF_UNREMOVE 요청은 Windows가 지정된 하드웨어 프로필에서 디바이스를 복구하려고 한다는 것을 설치 관리자에게 알리고 설치 관리자에게 작업에 참여할 수 있는 기회를 제공합니다. Windows는 PnP가 아닌 디바이스에 대해서만 이 요청을 보냅니다.

보낸 경우

루트 열거형이면 PnP가 아닌 디바이스가 하드웨어 프로필로 복원됩니다.

처리할 사람

클래스 공동 설치 관리자

처리 가능

디바이스 공동 설치 관리자

처리 가능

클래스 설치 관리자

처리 가능

설치 관리자 입력

DeviceInfoSet
디바이스가 포함된 디바이스 정보 집합 에 핸들을 제공합니다.

DeviceInfoData
디바이스 정보 집합에서 디바이스를 식별하는 SP_DEVINFO_DATA 구조체에 대한 포인터를 제공합니다.

디바이스 설치 매개 변수
DeviceInfoData와 연결된 디바이스 설치 매개 변수(SP_DEVINSTALL_PARAMS)가 있습니다.

클래스 설치 매개 변수
SP_UNREMOVEDEVICE_PARAMS 구조체는 DeviceInfoData와 연결됩니다. 범위 필드는 DI_UNREMOVEDEVICE_CONFIGSPECIFIC 설정해야 하며 하드웨어 프로필은 HwProfile 필드에 지정해야 합니다.

설치 관리자 출력

없음

설치 관리자 반환 값

공동 설치 관리자는 NO_ERROR, ERROR_DI_POSTPROCESSING_REQUIRED 또는 Win32 오류 코드를 반환할 수 있습니다.

클래스 설치 관리자가 이 요청을 성공적으로 처리하고 SetupDiCallClassInstaller 가 이후에 기본 처리기를 호출해야 하는 경우 클래스 설치 관리자는 ERROR_DI_DO_DEFAULT 반환합니다.

클래스 설치 관리자가 기본 처리기를 직접 호출하는 것을 포함하여 이 요청을 성공적으로 처리하는 경우 클래스 설치 관리자는 NO_ERROR 반환해야 하며 SetupDiCallClassInstaller 는 이후에 기본 처리기를 다시 호출하지 않습니다.

참고 클래스 설치 관리자는 기본 처리기를 직접 호출할 수 있지만 클래스 설치 관리자는 기본 처리기의 작업을 대체하려고 시도해서는 안 됩니다.

기본 처리기를 호출하는 방법에 대한 자세한 내용은 기본 DIF 코드 처리기 호출을 참조하세요.

클래스 설치 관리자에 오류가 발생하면 설치 관리자는 적절한 Win32 오류 코드를 반환해야 하며 SetupDiCallClassInstaller 는 이후에 기본 처리기를 호출하지 않습니다.

기본 DIF 코드 처리기

SetupDiUnremoveDevice

설치 관리자 작업

디바이스를 "이동 취소"하는 것은 기본적으로 Windows가 이전에 특정 하드웨어 프로필에서 디바이스를 "존재하지 않음"으로 표시한 플래그를 지우는 것을 의미합니다.

DIF 코드에 대한 자세한 내용은 DIF 코드 처리를 참조하세요.

요구 사항

Version

Microsoft Windows 2000 이상 버전의 Windows에서 지원됩니다.

헤더

Setupapi.h(Setupapi.h 포함)

추가 정보

SetupDiUnremoveDevice

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS

SP_UNREMOVEDEVICE_PARAMS