다음을 통해 공유


IStream::SetSize 메서드(objidl.h)

SetSize 메서드는 스트림 개체의 크기를 변경합니다.

구문

HRESULT SetSize(
  [in] ULARGE_INTEGER libNewSize
);

매개 변수

[in] libNewSize

스트림의 새 크기(바이트)를 지정합니다.

반환 값

이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.

반환 코드 설명
S_OK 스트림 개체의 크기가 변경되었습니다.
E_PENDING 비동기 스토리지만 해당: 스트림 데이터의 일부 또는 전체를 현재 사용할 수 없습니다.
STG_E_MEDIUMFULL 스토리지 디바이스에 남은 공간이 없으므로 스트림 크기가 변경되지 않습니다.
STG_E_INVALIDFUNCTION libNewSize 매개 변수의 값은 구현에서 지원되지 않습니다. 모든 스트림이 232바이트보다 큰 것은 아닙니다. 스트림이 232바이트 이상을 지원하지 않는 경우 libNewSize 의 높은 DWORD 데이터 형식은 0이어야 합니다. 0이 아닌 경우 구현은 STG_E_INVALIDFUNCTION 반환할 수 있습니다. 일반적으로 IStream 인터페이스의 COM 기반 구현은 232바이트보다 큰 스트림을 지원하지 않습니다.
STG_E_REVERTED 개체가 트랜잭션 트리에서 위의 되돌리기 작업에 의해 무효화되었습니다.

설명

IStream::SetSize 는 스트림 개체의 크기를 변경합니다. 스트림의 공간을 미리 할당하려면 이 메서드를 호출합니다. libNewSize 매개 변수가 현재 스트림 크기보다 큰 경우 스트림은 중간 공간을 정의되지 않은 값의 바이트로 채워 표시된 크기로 확장됩니다. 이 작업은 검색 포인터가 스트림의 현재 끝을 지나면 ISequentialStream::Write 메서드와 유사합니다.

libNewSize 매개 변수가 현재 스트림보다 작으면 스트림이 표시된 크기로 잘립니다.

검색 포인터는 스트림 크기 변경의 영향을 받지 않습니다.

IStream::SetSize를 호출하면 연속 공간의 큰 청크를 가져오는 효과적인 방법이 될 수 있습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 objidl.h
라이브러리 Uuid.lib
DLL Ole32.dll

추가 정보

ISequentialStream::Write

IStream

IStream - 복합 파일 구현