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 |