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 외에도 발생할 수 있습니다. 메서드가 실패하면 번들 작성기가 실패한 상태로 닫히며 더 이상 사용할 수 없습니다.
반환 코드 | 설명 |
---|---|
|
작성기가 닫힌 경우 |
|
지정된 파일 이름이 유효한 파일 이름이 아니거나 공간 파일의 예약된 이름입니다. |
|
지정된 파일 이름이 번들에서 이미 사용 중입니다. |
설명
AddPayloadFile 메서드가 성공하면 지정된 fileName의 내용이 패키지에 기록되고 해당 항목이 패키지 블록 맵에 만들어집니다.
AddPayloadPackage 는 packageStream 에서 앱 패키지의 콘텐츠를 읽고 지정된 fileName을 사용하여 번들에 콘텐츠를 저장합니다.
다음과 같은 경우 AddPayloadPackage 가 실패할 수 있습니다.
- packageStream 이 유효한 앱 패키지를 제공하지 않음
- packageStream에서 제공하는 앱 패키지는 이미 번들에 추가된 앱 패키지와 다른 패키지 패밀리에 있습니다.
- packageStream에서 제공하는 앱 패키지는 이미 번들에 추가된 다른 앱 패키지와 동일한 번들에 상주할 수 없는 아키텍처를 대상으로 합니다.
- packageStream에서 제공하는 앱 패키지에는 이미 번들에 추가된 앱 패키지와 다른 해시 메서드를 사용하는 블록 맵이 있습니다.
- fileName 이 유효한 파일 이름이 아니거나, 예약된 이름이거나, 번들에 추가된 다른 앱 패키지에서 이미 사용됨
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8.1 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2012 R2 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | appxpackaging.h |