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 |
---|---|
|
O objeto foi revogado com êxito. |
|
Nenhum espião está registrado no momento. |
|
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 |