다음을 통해 공유


InstallHinfSectionW 함수(setupapi.h)

[이 함수는 요구 사항 섹션에 표시된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다. SetupAPI는 더 이상 애플리케이션 설치에 사용되지 않아야 합니다. 대신 Windows Installer를 사용하여 애플리케이션 설치 관리자를 개발합니다. SetupAPI는 디바이스 드라이버를 설치하는 데 계속 사용됩니다.]

InstallHinfSection 은 .inf 파일의 섹션을 실행하는 데 사용할 수 있는 Setupapi.dll 내보낸 진입점 함수입니다. InstallHinfSection 은 주의 섹션에 설명된 대로 Rundll32.exe 유틸리티를 호출하여 호출할 수 있습니다.

InstallHinfSection 함수의 프로토타입은 Rundll32.exe 사용되는 모든 진입점 함수의 형태를 따릅니다.

파일을 복사하거나 수정하는 경우 이 함수의 호출자에게 대상 디렉터리에 쓸 수 있는 권한이 필요합니다. 설치되는 서비스가 있는 경우 이 함수의 호출자는 서비스 제어 관리자에 액세스할 수 있어야 합니다.

구문

void InstallHinfSectionW(
  [in] HWND      Window,
  [in] HINSTANCE ModuleHandle,
  [in] PCWSTR    CommandLine,
  [in] INT       ShowCommand
);

매개 변수

[in] Window

부모 창 핸들입니다. 일반적으로 hwnd 는 Null입니다.

[in] ModuleHandle

예약된 및 는 Null이어야 합니다.

[in] CommandLine

명령줄을 포함하는 버퍼에 대한 포인터입니다. null로 끝나는 문자열을 사용해야 합니다.

[in] ShowCommand

예약된 및 는 0이어야 합니다.

반환 값

없음

설명

InstallHinfSection(RunDll32의 경우), InstallHinfSectionAInstallHinfSectionW의 세 가지 내보내기가 있습니다.

지정된 .inf 파일의 Install 섹션을 실행하려면 다음 구문을 사용하여 Rundll32.exe InstallHinfSection 을 호출할 수 있습니다.

RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection <섹션><모드><경로>

그러면 "<섹션><모드><경로>"가 CmdLineBuffer로 전달됩니다.

또는 프로그램에서 InstallHinfSection, InstallHinfSectionA 또는 InstallHinfSectionW를 직접 호출하여 CmdLineBuffer 매개 변수를 다음으로 설정할 수 있습니다.

"<section> <mode> <path>"

여기서 path 는 .inf 파일의 전체 경로이고 모드 는 다시 부팅 모드 매개 변수이며 섹션 은 .inf 파일의 Install 섹션입니다. 명령줄에서 SETUPAPI.DLL InstallHinfSection 사이의 쉼표 구분 기호가 필요합니다. 명령줄에는 쉼표와 SETUPAPI.DLL 또는 InstallHinfSection 사이에 공백이 있을 수 없습니다.

.inf 파일의 전체 경로를 경로로 지정하는 것이 좋습니다.

.inf 파일의 Install 섹션을 섹션으로 지정할 수 있습니다. 공백은 허용되지 않습니다.

모드에 다음 값의 조합을 사용해야 합니다. 설치의 기본 경로를 INF의 위치로 설정하려면 128을 포함해야 합니다. 그렇지 않으면 시스템에서 제공하는 INF가 가정됩니다. 다시 부팅을 지정하는 값을 추가합니다. 값 128 또는 132만 권장되며, 다른 값으로 인해 컴퓨터가 불필요하게 다시 부팅되거나 필요할 때 다시 부팅되지 않을 수 있습니다.

Description
0 시스템 제공 INF.
128 설치의 기본 경로를 INF의 위치로 설정합니다. 일반적인 설정입니다.
+0 컴퓨터를 다시 부팅하지 마세요.
+1 모든 경우에 컴퓨터를 다시 부팅합니다.
+2 다시 부팅할 것인지 항상 사용자에게 물어봅니다.
+3 필요한 경우 사용자에게 권한을 요청하지 않고 컴퓨터를 다시 부팅합니다.
+4 컴퓨터를 다시 부팅해야 하는 경우 다시 부팅하기 전에 사용자에게 권한을 요청합니다.
 
 

예를 들어 다음 명령줄은 Shell.inf 파일의 DefaultInstall 섹션을 실행합니다. 설치 프로그램에서 다시 부팅이 필요하다고 판단되면 사용자에게 "컴퓨터 다시 부팅, 예/아니요" 대화 상자가 표시됩니다.

RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 132 C:\WINDOWS\INF\SHELL. Inf

참고

setupapi.h 헤더는 INSTALLHinfSection을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

주의

x86 또는 amd64 이외의 아키텍처에서 사용되거나 S 모드의 시스템에서 사용되는 경우 InstallHInfSection을 사용하려면 INF 파일에 INF 파일의 해시가 포함된 서명된 카탈로그 파일과 INF 파일이 INF SourceDisksFiles 섹션을 통해 참조하는 파일을 가리키는 CatalogFile 지시문이 있는 INF 버전 섹션이 있어야 합니다.

주의

네이티브 아키텍처가 x86 또는 amd64가 아닌 시스템에서 사용되는 경우 기본 아키텍처 프로세스에서 InstallHInfSection을 사용해야 합니다. InstallHInfSection은 네이티브가 아닌 아키텍처 프로세스에서 사용할 때 다양한 유형의 시스템 상태 변경 작업을 차단합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 setupapi.h
라이브러리 Setupapi.lib
DLL Setupapi.dll