SetupDiChangeState 함수(setupapi.h)

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

구문

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

매개 변수

[in] DeviceInfoSet

로컬 컴퓨터에 대해 설정된 디바이스 정보에 대한 핸들입니다. 이 집합에는 상태를 변경할 디바이스를 나타내는 디바이스 정보 요소가 포함되어 있습니다.

[in, out] DeviceInfoData

DeviceInfoSet에서 디바이스 정보 요소를 지정하는 SP_DEVINFO_DATA 구조체에 대한 포인터입니다. DeviceInfoData 때문에 IN-OUT 매개 변수입니다.DevInst는 반환 시 새 핸들 값으로 업데이트될 수 있습니다.

반환 값

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

설명

SetupDiChangeState 는 설치된 디바이스의 상태를 변경합니다.

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

참고 클래스 설치 관리자만 SetupDiChangeState 를 호출해야 하며 SetupDiChangeState 가 기본 속성 변경 작업을 완료한 후에 클래스 설치 관리자가 속성 변경 작업을 수행해야 하는 경우에만 호출해야 합니다. 이러한 상황에서는 설치 관리자가 DIF_PROPERTYCHANGE 요청을 처리할 때 클래스 설치 관리자가 SetupDiChangeState 를 직접 호출해야 합니다. 기본 처리기를 호출하는 방법에 대한 자세한 내용은 기본 DIF 코드 처리기 호출을 참조하세요.
 
SetupDiChangeState의 호출자는 디바이스에서 수행할 상태 변경 유형을 나타내는 디바이스 요소의 SP_PROPCHANGE_PARAMS DICS_XXX 플래그를 지정해야 합니다. 이 함수의 호출자는 이 함수를 호출하기 전에 SP_PROPCHANGE_PARAMS 적절한 필드를 설정하고 SetupDiSetClassInstallParams 를 호출해야 합니다.

SP_PROPCHANGE_PARAMS DICS_FLAG_CONFIGSPECIFIC 플래그를 지정하는 경우 HwProfile 필드를 입력해야 합니다. HwProfile의 값이 0이면 현재 프로필이 표시됩니다.

현재 하드웨어 프로필에서 디바이스를 사용하거나 사용하지 않도록 설정하려면 SP_PROPCHANGE_PARAMS DICS_FLAG_CONFIGSPECIFIC 플래그를 설정합니다. 도킹된 하드웨어 프로필과 도킹 해제된 하드웨어 프로필 모두에서와 같이 디바이스를 전역적으로 사용하거나 사용하지 않도록 설정하려면 DICS_FLAG_GLOBAL 플래그를 설정합니다.

이 함수는 다음을 수행합니다.

이 함수의 호출자는 SP_PROPCHANGE_PARAMS DICS_STOP 또는 DICS_START 지정해서는 안 됩니다. DICS_PROPCHANGE 사용하여 디바이스를 중지하고 다시 시작하여 디바이스 구성의 변경 내용이 적용되도록 합니다.

디바이스에 대해 DI_DONOTCALLCONFIGMG 설정된 경우 디바이스에 대해 SetupDiChangeState 를 호출하지 말고 대신 DI_NEEDREBOOT 플래그를 설정해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Microsoft Windows 2000 이상 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 setupapi.h(Setupapi.h 포함)
라이브러리 Setupapi.lib
DLL Setupapi.dll
API 세트 ext-ms-win-setupapi-classinstallers-l1-1-2(Windows 10 버전 10.0.14393에 도입됨)

추가 정보

DIF_PROPERTYCHANGE

SP_PROPCHANGE_PARAMS

SetupDiCallClassInstaller