Share via


SetupInstallFilesFromInfSectionA 함수(setupapi.h)

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

SetupInstallFilesFromInfSection 함수는 설치 섹션에 나열된 파일 복사, 파일 삭제 및 파일 이름 바꾸기 섹션에 지정된 설치에 대한 모든 파일을 큐에 대기합니다.

파일이 수정되면 이 함수의 호출자는 대상 디렉터리에 쓸 수 있는 권한이 있어야 합니다.

구문

WINSETUPAPI BOOL SetupInstallFilesFromInfSectionA(
  [in] HINF     InfHandle,
  [in] HINF     LayoutInfHandle,
  [in] HSPFILEQ FileQueue,
  [in] PCSTR    SectionName,
  [in] PCSTR    SourceRootPath,
  [in] UINT     CopyFlags
);

매개 변수

[in] InfHandle

설치할 섹션이 포함된 INF 파일에 대한 핸들입니다.

[in] LayoutInfHandle

SourceDisksFiles 및 SourceDisksNames 섹션이 포함된 INF 파일에 대한 핸들에 대한 선택적 포인터입니다.

LayoutInfHandle을 지정하지 않으면 InfHandle의 SourceDisksFiles 및 SourceDisksNames 섹션이 사용됩니다.

[in] FileQueue

설치 작업을 추가할 큐에 대한 핸들입니다.

[in] SectionName

설치할 파일이 포함된 파일 복사, 파일 삭제 및 파일 이름 바꾸기 섹션을 나열하는 InfHandle 매개 변수의 설치 섹션 이름입니다.

null로 끝나는 문자열을 사용합니다.

[in] SourceRootPath

복사할 원본 파일의 루트 경로에 대한 선택적 포인터입니다(예: A:\ 또는 \pegasus\win\install).

null로 끝나는 문자열을 사용합니다.

[in] CopyFlags

파일 복사 작업의 동작을 제어하는 플래그 집합에 대한 선택적 포인터입니다.

플래그는 다음 값의 조합일 수 있습니다.

SP_COPY_DELETESOURCE

복사 작업이 성공하면 원본 파일을 삭제합니다.

삭제 작업이 실패하면 호출자에게 알림이 표시되지 않습니다.

SP_COPY_REPLACEONLY

대상 경로에서 파일을 덮어쓰기 위해만 파일을 복사합니다.

SP_COPY_NEWER_OR_SAME

복사된 각 파일을 검사하여 버전 리소스가 대상의 기존 복사본과 동일한 버전인지 아니면 최신 버전인지 여부를 확인합니다.

원본 파일이 최신 버전이 아니거나 같은 버전이 아닌 경우 함수는 복사본을 취소할 수 있는 호출자에게 알 수 있습니다.

버전 검사 중에 사용되는 파일 버전 정보는 Win32 버전 함수에서 입력한 대로 VS_FIXEDFILEINFO 구조체의 dwFileVersionMS dwFileVersionLS 멤버에 지정됩니다.

파일 중 하나에 버전 리소스가 없거나 버전 정보가 동일한 경우 원본 파일은 최신 버전으로 간주됩니다.

SP_COPY_NEWER_ONLY

복사되는 각 파일을 검사하여 해당 버전 리소스가 대상의 기존 복사본보다 최신이 아님을 나타내는지 여부를 확인합니다.

원본 파일이 최신 버전이지만 버전이 기존 대상과 같지 않으면 파일이 복사됩니다.

SP_COPY_NOOVERWRITE

대상 파일이 있는지 여부를 확인합니다.

대상 파일이 있는 경우 함수는 복사본을 취소할 수 있는 호출자에게 알 수 있습니다.

SP_COPY_NODECOMP

파일의 압축을 풀지 않습니다.

이 플래그를 설정하면 대상 파일에 소스 이름의 압축되지 않은 형식이 제공되지 않습니다. 예를 들어 f:\x86\cmd.ex_ \install\temp에 복사하면 결과는 다음 대상 파일인 \install\temp\cmd.ex_.

SP_COPY_NODECOMP 플래그를 지정하지 않으면 파일의 압축이 해제되고 대상이 \install\temp\cmd.exe 호출됩니다.

DestinationName의 파일 이름 부분(지정된 경우)이 삭제되고 원본 파일의 파일 이름으로 대체됩니다. SP_COPY_NODECOMP 지정하면 언어 및 버전 정보를 확인할 수 없습니다.

SP_COPY_LANGUAGEAWARE

복사되는 각 파일을 검사하여 언어가 대상에 이미 있는 기존 파일의 언어와 다른지 여부를 확인합니다.

언어가 다른 경우 함수는 복사 작업을 취소할 수 있는 호출자에게 알 수 있습니다.

SP_COPY_SOURCE_ABSOLUTE

SourceFile은 전체 원본 경로입니다.

INF 파일의 SourceDisksNames 섹션에서 조회하지 마세요.

SP_COPY_SOURCEPATH_ABSOLUTE

SourcePathRoot는 원본 파일의 전체 경로 부분입니다.

파일이 있는 원본 미디어에 대한 INF 파일의 SourceDisksNames 섹션에 지정된 상대 원본을 무시합니다. SP_COPY_SOURCE_ABSOLUTE 지정된 경우 이 플래그는 무시됩니다.

SP_COPY_FORCE_IN_USE

대상이 존재하고 사용 중인 경우 다음 시스템 다시 부팅에서 복사할 파일을 큐에 대기합니다.

SP_COPY_IN_USE_NEEDS_REBOOT

복사 작업 중에 파일을 사용하는 경우 시스템을 다시 부팅해야 한다고 사용자에게 경고합니다.

SP_COPY_NOSKIP

사용자에게 파일을 건너뛰는 옵션을 제공하지 않습니다.

SP_COPY_FORCE_NOOVERWRITE

대상 파일이 있는지 여부를 확인하고 대상이 존재하는 경우 파일을 덮어쓰지 않고 호출자에게 알림을 받지 않습니다.

SP_COPY_FORCE_NEWER

복사되는 각 파일을 검사하여 해당 버전 리소스(또는 이미지가 아닌 파일에 대한 타임스탬프는)가 대상의 기존 복사본보다 최신이 아님을 나타냅니다.

복사 중인 파일이 최신 파일이 아니면 파일이 복사되지 않고 호출자에게 알림이 표시되지 않습니다.

SP_COPY_WARNIFSKIP

사용자가 파일을 건너뛰려고 하면 파일을 건너뛰는 것이 설치에 영향을 줄 수 있음을 경고합니다.

시스템에 중요한 파일에는 이 플래그를 사용합니다.

반환 값

함수가 성공하면 반환 값은 0이 아닌 값입니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

SetupInstallFilesFromInfSection 을 여러 번 호출하여 여러 INF 섹션에 지정된 파일을 큐에 대기할 수 있습니다. 큐가 성공적으로 커밋되고 파일이 복사, 이름 변경 및/또는 삭제된 후 SetupInstallFromInfSection 을 호출하여 레지스트리 및 INI 설치 작업을 수행할 수 있습니다.

UNC 디렉터리가 파일 설치의 대상 디렉터리로 지정된 경우 SetupInstallFilesFromInfSection을 호출하기 전에 UNC 디렉터리가 있는지 확인해야 합니다. 설치 함수는 디렉터리 존재에 대해 검사 않으며 UNC 디렉터리를 만들지 않습니다. 대상 UNC 디렉터리가 없으면 파일 설치가 실패합니다.

참고

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

요구 사항

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

참조

함수

개요

SetupInstallFromInfSection

SetupInstallServicesFromInfSection