Share via


IAppxFactory3::CreateManifestReader2 메서드(appxpackaging.h)

중요

일부 정보는 상용 출시 전에 실질적으로 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.

IStream에서 제공하는 콘텐츠에서 읽기 전용 매니페스트 개체 모델을 만들고 매니페스트에 필요한 다이제스트를 지정하기 위한 선택적 매개 변수를 사용합니다.

구문

HRESULT CreateManifestReader2(
  [in]          IStream             *inputStream,
  [in,optional] LPCWSTR             expectedDigest,
  [out]         IAppxManifestReader **manifestReader
);

매개 변수

[in] inputStream

읽기용 매니페스트 XML을 제공하는 입력 스트림입니다. 스트림은 ISequentialStream::Read, IStream::SeekIStream::Stat를 지원해야 합니다. 이러한 메서드가 실패하면 해당 오류 코드가 이 메서드에 전달되어 반환될 수 있습니다.

[in,optional] expectedDigest

예상 다이제스트를 포함하는 LPCWSTR, 매니페스트 파일의 해시된 표현입니다.

[out] manifestReader

만든 매니페스트 판독기입니다.

반환 값

메서드가 성공하면 S_OK 반환합니다. 그렇지 않으면 다음 표의 오류 코드를 포함하지만 이에 국한되지 않는 오류 코드를 반환합니다.

반환 코드 설명
APPX_E_INVALID_MANIFEST inputStream에는 매니페스트에 대해 구문적으로 유효한 XML이 포함되어 있지 않습니다.
APPX_E_DIGEST_MISMATCH 개체의 다이제스트가 expectedDigest에 제공된 다이제스트와 일치하지 않습니다.

설명

CreateManifestReader2를 사용하여 앱 패키지 외부에서 매니페스트를 읽습니다. 이 메서드는 매니페스트 XML의 유효성을 검사합니다. manifestReader는 매니페스트 XML의 모든 데이터 요소 및 특성에 대한 액세스를 제공합니다. 매니페스트는 AppxPackaging에 대한 ETW 이벤트 로그에서 매니페스트 유효성 검사 오류의 위치를 기록합니다.

IAppxDigestProvider::GetDigest를 호출하여 expecteDigest 매개 변수에 대한 다이제스트 문자열을 가져옵니다.

예제

예제는 빠른 시작: 앱 패키지 매니페스트 정보 읽기를 참조하세요.

요구 사항

요구 사항
헤더 appxpackaging.h