IMalloc::Realloc
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 |