Fungsi CoRevokeMallocSpy (objbase.h)
Mencabut objek IMallocSpy terdaftar.
Sintaks
HRESULT CoRevokeMallocSpy();
Mengembalikan nilai
Fungsi ini dapat mengembalikan nilai berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Objek berhasil dicabut. |
|
Tidak ada mata-mata yang saat ini terdaftar. |
|
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 |