Bagikan melalui


Fungsi CoRevokeMallocSpy (objbase.h)

Mencabut objek IMallocSpy terdaftar.

Sintaks

HRESULT CoRevokeMallocSpy();

Mengembalikan nilai

Fungsi ini dapat mengembalikan nilai berikut.

Menampilkan kode Deskripsi
S_OK
Objek berhasil dicabut.
CO_E_OBJNOTREG
Tidak ada mata-mata yang saat ini terdaftar.
E_ACCESSDENIED
Mata-mata terdaftar tetapi ada alokasi yang luar biasa (belum dibebaskan) yang dibuat saat mata-mata ini aktif.

Keterangan

Objek IMallocSpy dirilis ketika dicabut. Rilis ini sesuai dengan panggilan ke IUnknown::AddRef dalam implementasi fungsi QueryInterface oleh fungsi CoRegisterMallocSpy . Implementasi antarmuka IMallocSpy kemudian harus melakukan pembersihan yang sesuai.

Jika kode pengembalian E_ACCESSDENIED, masih ada alokasi luar biasa yang dibuat saat mata-mata aktif. Dalam hal ini, mata-mata terdaftar tidak dapat dicabut saat ini karena mungkin telah melampirkan header dan/atau trailer arbitrer ke alokasi ini yang hanya diketahui mata-mata. Hanya metode PreFree (atau PreRealloc) mata-mata yang tahu cara mempertanggungjawabkan header dan trailer ini. Sebelum mengembalikan E_ACCESSDENIED, CoRevokeMallocSpy mencatat secara internal bahwa pencabutan tertunda. Ketika alokasi yang terutang telah dibebaskan, pencabutan berlanjut secara otomatis, melepaskan objek IMallocSpy . Dengan demikian, perlu untuk memanggil CoRevokeMallocSpy hanya sekali untuk setiap panggilan ke CoRegisterMallocSpy, bahkan jika E_ACCESSDENIED dikembalikan.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header objbase.h
Pustaka Ole32.lib
DLL Ole32.dll

Lihat juga

CoRegisterMallocSpy

IMallocSpy