Share via


IAppxPackageWriter::AddPayloadFile 메서드(appxpackaging.h)

앱 패키지에 새 페이로드 파일을 추가합니다.

구문

HRESULT AddPayloadFile(
  [in] LPCWSTR                 fileName,
  [in] LPCWSTR                 contentType,
  [in] APPX_COMPRESSION_OPTION compressionOption,
  [in] IStream                 *inputStream
);

매개 변수

[in] fileName

형식: LPCWSTR

페이로드 파일의 이름입니다. 파일 이름 경로는 패키지의 루트를 기준으로 해야 합니다.

[in] contentType

형식: LPCWSTR

fileName콘텐츠 형식을 지정하는 문자열입니다.

[in] compressionOption

형식: APPX_COMPRESSION_OPTION

패키지에 fileName을 저장하는 데 사용할 압축 유형입니다.

[in] inputStream

형식: IStream*

fileName의 콘텐츠를 제공하는 IStream입니다. 스트림은 읽기, 검색통계를 지원해야 합니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK 반환합니다. 그렇지 않으면 다음 표의 오류 코드를 포함하지만 이에 국한되지 않는 오류 코드를 반환합니다. 오류 OPC 코드는 OPC_E_DUPLICATE_PART 외에도 발생할 수 있습니다. 메서드가 실패하면 패키지 작성기가 실패한 상태로 닫히며 더 이상 사용할 수 없습니다.

반환 코드 설명
E_INVALIDARG
compressionOption으로 지정된 압축 옵션은 APPX_COMPRESSION_OPTION 열거형 값 중 하나가 아닙니다.
E_NOT_VALID_STATE
작성기가 닫힌 경우
HRESULT_FROM_WIN32(ERROR_INVALID_NAME)
지정된 파일 이름이 올바른 파일 이름이 아니거나 공간 파일의 예약된 이름입니다.
OPC_E_DUPLICATE_PART
지정된 파일 이름이 패키지에서 이미 사용 중입니다.

설명

AddPayloadFile 메서드가 성공하면 지정된 fileName의 내용이 패키지에 기록되고 패키지 블록 맵에 해당 항목이 만들어집니다.

참고 다음 예약된 파일 이름을 가진 파일은 AddPayloadFile 메서드를 사용하여 패키지에 추가할 수 없습니다.

AppxManifest.xml, AppxBlockMap.xml, AppxStreamMap.xmlAppxSignature.p7x.

또한 다음과 같은 예약된 폴더 접두사를 가진 파일은 AddPayloadFile 메서드 \AppxMetadata\\Microsoft.System.Package.Metadata\및 를 사용하여 패키지에 추가할 수 없습니다.

예제

예제는 앱 패키지를 만드는 방법을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 appxpackaging.h

추가 정보

APPX_COMPRESSION_OPTION

IAppxPackageWriter