Compartilhar via


IMalloc::Realloc

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Este método altera o tamanho de um bloco anteriormente alocado memória.

Syntax

void* Realloc(
  void* pv, 
  ULONG cb 
);

Parameters

  • Vp
    [no] Ponteiro para bloco de memória para ser realocado. O ponteiro pode ter um NULL valor, conforme discutido na Comentários seção abaixo.
  • cb
    [no] Tamanho, em bytes, do bloco de memória para ser realocado. Ele pode ser zero, como discutido o Comentários seção abaixo.

Return Value

Se bem-sucedido, IMalloc::Realloc Retorna um ponteiro para bloco de memória alocada.

Se é memória insuficiente disponível, IMalloc::Realloc retorna NULL, ou cb é zero e Vp não é NULL.

Remarks

IMalloc::Realloc Realoca que um bloco de memória mas garante que o conteúdo do bloco de memória retornados é inicializado. Portanto, o chamador é responsável por inicializando-lo em codificar, subsequent to a realocação.

O bloco alocado pode ser maior que cb Bytes because of o espaço exigido para alinhamento e informações manutenção.

O Vp argumento aponta para início do bloco de memória. Se Vp é NULL, IMalloc::Realloc Aloca um novo bloco de memória na mesma maneira que o IMalloc::Alloc método faz. Se Vp não é NULL, ele deve ser um ponteiro retornado por uma chamar anterior para IMalloc::Alloc.

O cb argumento especifica o tamanho, em bytes, do novo bloco. O conteúdo de bloco é inalterado up to o menor dos novos e antigos tamanhos, embora o novo bloco pode esteja em uma localidade diferente.

Porque o novo bloco pode estar em um posição de memória diferentes, o ponteiro retornado pela IMalloc::Realloc não é garantida seja o ponteiro passado através de Vp argumento. Se Vp não é NULL e cb for zero, a memória apontada pelo Vp é liberado.

IMalloc::Realloc Retorna um ponteiro void ao bloco de memória realocada (e possivelmente movidos).

É a valor de retorno NULL se o tamanho é zero e o argumento reserva não for NULL, ou se não houver memória suficiente disponível para expansão de bloco para o tamanho especificado. Na maiúsculas e minúsculas, o original primeira bloco é liberado; Na segunda, o original é bloco inalterado.

Espaço de armazenamento apontado pelo valor de retorno é garantido ser alinhado adequadamente para armazenamento de qualquer tipo de objeto. Para get um ponteiro para um tipo Other Than void, use um coerção de tipo o valor de retorno.

Para determinar se a plataforma oferece suporte a esta interface, consulte Determinando suporte COM APIs.

Requirements

Header objidl.h, objidl.idl
Library ole32.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

IMalloc::Alloc
IMalloc::Free