다음을 통해 공유


SetupDiRemoveDevice 함수(setupapi.h)

SetupDiRemoveDevice 함수는 DIF_REMOVE 설치 요청에 대한 기본 처리기입니다.

구문

WINSETUPAPI BOOL SetupDiRemoveDevice(
  [in]      HDEVINFO         DeviceInfoSet,
  [in, out] PSP_DEVINFO_DATA DeviceInfoData
);

매개 변수

[in] DeviceInfoSet

제거할 디바이스를 나타내는 디바이스 정보 요소가 포함된 로컬 시스템의 디바이스 정보 집합에 대한 핸들입니다.

[in, out] DeviceInfoData

DeviceInfoSet에서 디바이스 정보 요소를 지정하는 SP_DEVINFO_DATA 구조체에 대한 포인터입니다. DeviceInfoSet이므로 IN-OUT 매개 변수입니다. DevInst는 반환 시 새 핸들 값으로 업데이트될 수 있습니다. 전역 제거 또는 마지막 하드웨어 프로필 관련 제거인 경우 instance 디바이스의 모든 추적이 레지스트리에서 삭제되고 핸들은 NULL이 됩니다.

반환 값

함수가 성공하면 TRUE 를 반환합니다. 그렇지 않으면 FALSE 를 반환하고 GetLastError 호출을 통해 기록된 오류를 검색할 수 있습니다.

설명

SetupDiRemoveDevice 는 시스템에서 디바이스를 제거합니다. 디바이스의 하드웨어 및 소프트웨어 레지스트리 키와 하드웨어 프로필별 레지스트리 키(구성별 레지스트리 키)를 삭제합니다. 이 함수는 DevInst 가 활성 상태이고 전역 제거 또는 마지막 구성 관련 제거인 경우 디바이스를 동적으로 중지합니다. 디바이스를 동적으로 중지할 수 없는 경우 디바이스 정보 집합의 매개 변수 설치 블록에 플래그가 설정되어 결국 사용자에게 컴퓨터를 다시 시작하라는 메시지가 표시됩니다.

디바이스 제거는 모든 하드웨어 프로필에 대해 전역적이거나 DIF_REMOVE 요청에 대한 클래스 설치 매개 변수를 제공하는 SP_REMOVEDEVICE_PARAMS 구조의 Scope 멤버가 지정한 하드웨어 프로필 하나에 한정됩니다. 구성별 제거는 루트 열거형 디바이스에만 적합하며 시스템 코드에서만 요청해야 합니다.

SetupDiRemoveDevice의 호출자는 Administrators 그룹의 구성원이어야 합니다.

참고클래스 설치 관리자SetupDiRemoveDevice를 호출해야 하며 SetupDiRemoveDevice 가 기본 디바이스 제거 작업을 완료한 후에만 클래스 설치 관리자가 디바이스 제거 작업을 수행해야 하는 경우에만 호출해야 합니다. 이러한 상황에서 클래스 설치 관리자는 설치 관리자가 DIF_REMOVE 요청을 처리할 때 SetupDiRemoveDevice 를 직접 호출해야 합니다. 기본 처리기를 호출하는 방법에 대한 자세한 내용은 기본 DIF 코드 처리기 호출을 참조하세요.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 Microsoft Windows 2000 이상 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 setupapi.h(Setupapi.h 포함)
라이브러리 Setupapi.lib
DLL Setupapi.dll

추가 정보

SP_DEVINFO_DATA

SP_REMOVEDEVICE_PARAMS