Compartilhar via


Função CoRevokeMallocSpy (objbase.h)

Revoga um objeto IMallocSpy registrado.

Sintaxe

HRESULT CoRevokeMallocSpy();

Valor retornado

Essa função pode retornar os valores a seguir.

Código de retorno Descrição
S_OK
O objeto foi revogado com êxito.
CO_E_OBJNOTREG
Nenhum espião está registrado no momento.
E_ACCESSDENIED
Um espião está registrado, mas há alocações pendentes (ainda não liberadas) feitas enquanto este espião estava ativo.

Comentários

O objeto IMallocSpy é liberado quando é revogado. Esta versão corresponde à chamada para IUnknown::AddRef na implementação da função QueryInterface pela função CoRegisterMallocSpy . A implementação da interface IMallocSpy deve fazer qualquer limpeza apropriada.

Se o código de retorno for E_ACCESSDENIED, ainda haverá alocações pendentes que foram feitas enquanto o espião estava ativo. Nesse caso, o espião registrado não pode ser revogado no momento porque pode ter anexado cabeçalhos arbitrários e/ou trailers a essas alocações que somente o espião conhece. Somente o método PreFree (ou PreRealloc) do espião sabe como considerar esses cabeçalhos e trailers. Antes de retornar E_ACCESSDENIED, CoRevokeMallocSpy observa internamente que uma revogação está pendente. Quando as alocações pendentes tiverem sido liberadas, a revogação continuará automaticamente, liberando o objeto IMallocSpy . Portanto, é necessário chamar CoRevokeMallocSpy apenas uma vez para cada chamada para CoRegisterMallocSpy, mesmo que E_ACCESSDENIED seja retornado.

Requisitos

   
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

Coregistermallocspy

Imallocspy