SetupDiRemoveDeviceInterface 함수(setupapi.h)

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

구문

WINSETUPAPI BOOL SetupDiRemoveDeviceInterface(
  [in]      HDEVINFO                  DeviceInfoSet,
  [in, out] PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
);

매개 변수

[in] DeviceInfoSet

제거할 디바이스 인터페이스를 포함하는 디바이스 정보 집합 에 대한 포인터입니다. 이 핸들은 일반적으로 SetupDiGetClassDevs에서 반환됩니다.

[in, out] DeviceInterfaceData

제거할 DeviceInfoSet의 디바이스 인터페이스를 지정하는 SP_DEVICE_INTERFACE_DATA 구조체에 대한 포인터입니다. 이 포인터는 일반적으로 SetupDiEnumDeviceInterfaces에서 반환됩니다.

인터페이스가 제거된 후 이 함수는 DeviceInterfaceData에서 SPINT_REMOVED 플래그를 설정합니다. 플래그. SPINT_ACTIVE 플래그도 지워지지만 이 함수가 호출되기 전에 이 플래그가 이미 지워졌어야 합니다.

반환 값

SetupDiRemoveDeviceInterface 는 함수가 오류 없이 완료된 경우 TRUE 를 반환합니다. 함수가 오류로 완료되면 FALSE 를 반환하고 GetLastError를 호출하여 오류 코드를 검색할 수 있습니다.

설명

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

SetupDiRemoveDeviceInterface 는 시스템에서 지정된 디바이스 인터페이스를 제거합니다. 여기에는 연결된 레지스트리 키 삭제가 포함됩니다.

SetupDiDeleteDeviceInterfaceData를 호출하여 디바이스 정보 목록에서 인터페이스를 삭제합니다.

디바이스 인터페이스를 제거하려면 사용하지 않도록 설정해야 합니다. 인터페이스를 사용하도록 설정하면 이 함수가 실패하고 GetLastError가 ERROR_DEVICE_INTERFACE_ACTIVE 반환합니다. 제공되는 인터페이스별 메커니즘(예: IOCTL)을 사용하여 인터페이스를 사용하지 않도록 설정합니다. 호출자가 인터페이스를 사용하지 않도록 설정할 방법이 없고 인터페이스를 제거해야 하는 경우 호출자는 SetupDiChangeState를 사용하여 기본 디바이스를 중지해야 합니다. 디바이스를 중지하면 디바이스에서 노출하는 모든 인터페이스가 비활성화됩니다.

요구 사항

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

추가 정보

SetupDiChangeState

SetupDiCreateDeviceInterface

SetupDiDeleteDeviceInterfaceData

SetupDiEnumDeviceInterfaces

SetupDiGetClassDevs