IAppxFile::GetStream 메서드(appxpackaging.h)

파일의 압축되지 않은 콘텐츠가 포함된 읽기 전용 스트림을 가져옵니다.

구문

HRESULT GetStream(
  [out, retval] IStream **stream
);

매개 변수

[out, retval] stream

형식: IStream**

파일의 압축되지 않은 콘텐츠를 포함하는 읽기 전용 스트림입니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK 반환합니다.

[치명적] zip 보관 파일에 있는 파일의 로컬 파일 헤더 또는 데이터 설명자가 잘못된 경우 OPC 오류 코드(0x8051xxxx)입니다. 이 오류로 인해 전체 OPC zip 소비자가 잘못된 상태가 되며, 이 오류가 발생한 후에 는 IAppxPackageReader 개체에서 다른 파일에 액세스할 수 없습니다.

스트림이 이전에 읽혀졌으며 해당 CRC가 잘못된 경우 HRESULT_FROM_WIN32(ERROR_CRC)(0x80070017)입니다.

반환된 IStream의 Read 및 CopyTo 메서드에서 값을 반환합니다.

[치명적] 전체 스트림을 읽고 CRC가 잘못된 것으로 확인되면 HRESULT_FROM_WIN32(ERROR_CRC)(0x80070017)

zip 파일의 손상으로 인해 파일 콘텐츠를 압축 해제할 수 없는 경우 APPX_E_CORRUPT_CONTENT(0x80080206)

파일의 블록을 완전히 읽을 수 없거나 블록 크기가 예기치 않은 경우 HRESULT_FROM_WIN32(ERROR_INVALID_DATA)(0x8007000d)

이 파일의 블록 내용이 블록 맵의 해시와 일치하지 않는 경우 APPX_E_BLOCK_HASH_INVALID(0x80080207)

설명

반환된 스트림 은 읽기 전용이며 복제할 수 있습니다.

페이로드 파일의 유효성 검사는 "지연"입니다. 파일의 GetStream 메서드에 대한 첫 번째 호출에서 해당 zip 파일 항목의 로컬 파일 헤더 및 데이터 설명자의 유효성이 검사되고 GetStream 이 실패할 수 있습니다. 동일한 파일에서 GetStream 에 대한 후속 호출은 이러한 유효성 검사를 반복하지 않습니다. zip 파일 항목의 CRC 체크섬은 스트림 전체를 순차적으로 읽는 경우에만 유효성이 검사됩니다.

페이로드 파일에 대해 반환되는 IStream 인스턴스는 순차 액세스에 최적화되어 있습니다. 스트림에 대한 임의 액세스가 지원되지만 임의 액세스는 느리고 CPU 집약적일 수 있습니다. 가능하면 이러한 스트림을 순차적으로 읽는 것이 좋습니다. 동일한 범위를 여러 번 읽는 것은 지원되지만 성능에는 권장되지 않습니다. 사용 시나리오에서 요구하는 경우 이러한 범위를 캐싱하는 것이 좋습니다.

요구 사항

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

추가 정보

IAppxFile

IAppxPackageReader