Share via


IAppxBundleWriter::AddPayloadPackage 메서드(appxpackaging.h)

번들에 새 앱 패키지를 추가합니다.

구문

HRESULT AddPayloadPackage(
  [in] LPCWSTR fileName,
  [in] IStream *packageStream
);

매개 변수

[in] fileName

형식: LPCWSTR

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

[in] packageStream

형식: IStream*

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

반환 값

형식: HRESULT

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

반환 코드 설명
E_NOT_VALID_STATE
작성기가 닫힌 경우
HRESULT_FROM_WIN32(ERROR_INVALID_NAME)
지정된 파일 이름이 유효한 파일 이름이 아니거나 공간 파일의 예약된 이름입니다.
OPC_E_DUPLICATE_PART
지정된 파일 이름이 번들에서 이미 사용 중입니다.

설명

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

AddPayloadPackagepackageStream 에서 앱 패키지의 콘텐츠를 읽고 지정된 fileName을 사용하여 번들에 콘텐츠를 저장합니다.

다음과 같은 경우 AddPayloadPackage 가 실패할 수 있습니다.

  • packageStream 이 유효한 앱 패키지를 제공하지 않음
  • packageStream에서 제공하는 앱 패키지는 이미 번들에 추가된 앱 패키지와 다른 패키지 패밀리에 있습니다.
  • packageStream에서 제공하는 앱 패키지는 이미 번들에 추가된 다른 앱 패키지와 동일한 번들에 상주할 수 없는 아키텍처를 대상으로 합니다.
  • packageStream에서 제공하는 앱 패키지에는 이미 번들에 추가된 앱 패키지와 다른 해시 메서드를 사용하는 블록 맵이 있습니다.
  • fileName 이 유효한 파일 이름이 아니거나, 예약된 이름이거나, 번들에 추가된 다른 앱 패키지에서 이미 사용됨

요구 사항

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

추가 정보

IAppxBundleWriter