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 |