Compartilhar via


Método IStream::SetSize (objidl.h)

O método SetSize altera o tamanho do objeto de fluxo.

Sintaxe

HRESULT SetSize(
  [in] ULARGE_INTEGER libNewSize
);

Parâmetros

[in] libNewSize

Especifica o novo tamanho, em bytes, do fluxo.

Valor retornado

Esse método pode retornar um desses valores.

Código de retorno Descrição
S_OK O tamanho do objeto de fluxo foi alterado com êxito.
E_PENDING Somente armazenamento assíncrono: parte ou todos os dados do fluxo estão indisponíveis no momento.
STG_E_MEDIUMFULL O tamanho do fluxo não é alterado porque não há espaço no dispositivo de armazenamento.
STG_E_INVALIDFUNCTION O valor do parâmetro libNewSize não é compatível com a implementação. Nem todos os fluxos dão suporte a mais de 232 bytes. Se um fluxo não der suporte a mais de 232 bytes, o tipo de dados DWORD alto de libNewSize deverá ser zero. Se não for zero, a implementação poderá retornar STG_E_INVALIDFUNCTION. Em geral, as implementações baseadas em COM da interface IStream não dão suporte a fluxos maiores que 232 bytes.
STG_E_REVERTED O objeto foi invalidado por uma operação de reverter acima dele na árvore de transações.

Comentários

IStream::SetSize altera o tamanho do objeto de fluxo. Chame esse método para pré-alocar espaço para o fluxo. Se o parâmetro libNewSize for maior que o tamanho do fluxo atual, o fluxo será estendido para o tamanho indicado preenchendo o espaço intervindo com bytes de valor indefinido. Essa operação é semelhante ao método ISequentialStream::Write se o ponteiro seek estiver além do final atual do fluxo.

Se o parâmetro libNewSize for menor que o fluxo atual, o fluxo será truncado para o tamanho indicado.

O ponteiro de busca não é afetado pela alteração no tamanho do fluxo.

Chamar IStream::SetSize pode ser uma maneira eficaz de obter uma grande parte do espaço contíguo.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho objidl.h
Biblioteca Uuid.lib
DLL Ole32.dll

Confira também

ISequentialStream::Write

Istream

IStream – Implementação de arquivo composto