Função CoRegisterMallocSpy (objbase.h)

Registra uma implementação da interface IMallocSpy , exigindo posteriormente que o OLE chame seus métodos wrapper em torno de cada chamada para o método IMalloc correspondente.

Sintaxe

HRESULT CoRegisterMallocSpy(
  [in] LPMALLOCSPY pMallocSpy
);

Parâmetros

[in] pMallocSpy

Um ponteiro para uma instância da implementação IMallocSpy .

Retornar valor

Essa função pode retornar o valor retornado padrão E_INVALIDARG, bem como os valores a seguir.

Código de retorno Descrição
S_OK
O objeto foi registrado com êxito.
CO_E_OBJISREG
O objeto já está registrado.

Comentários

A função CoRegisterMallocSpy registra o objeto IMallocSpy , que é usado para depurar chamadas para métodos IMalloc . A função chama QueryInterface no ponteiro pMallocSpy para a interface IID_IMallocSpy. Isso é para garantir que pMallocSpy realmente aponte para uma implementação de IMallocSpy. Pelas regras do OLE, espera-se que uma chamada bem-sucedida para QueryInterface tenha adicionado uma referência (por meio do método AddRef ) ao objeto IMallocSpy . Ou seja, CoRegisterMallocSpy não chama diretamente AddRef em pMallocSpy, mas espera totalmente que a chamada QueryInterface será.

Quando o objeto IMallocSpy é registrado, sempre que há uma chamada para um dos métodos IMalloc , o OLE primeiro chama o pré-método IMallocSpy correspondente. Em seguida, depois de executar o método IMalloc , o OLE chama o pós-método IMallocSpy correspondente. Por exemplo, sempre que há uma chamada para IMalloc::Alloc, de qualquer origem, o OLE chama IMallocSpy::P reAlloc, chama Alloc e, depois que essa alocação é concluída, chama IMallocSpy::P ostAlloc.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho objbase.h
Biblioteca Ole32.lib
DLL Ole32.dll

Confira também

Cogetmalloc

CoRevokeMallocSpy

Imallocspy