Bagikan melalui


ISurrogate::Metode FreeSurrogate (objidlbase.h)

Membongkar server DLL.

Sintaks

HRESULT FreeSurrogate();

Mengembalikan nilai

Metode ini dapat mengembalikan nilai pengembalian standar E_UNEXPECTED, E_FAIL, dan S_OK.

Keterangan

COM memanggil FreeSurrogate ketika tidak ada lagi server DLL yang berjalan dalam proses pengganti. Ketika FreeSurrogate dipanggil, metode harus mencabut semua pabrik kelas yang terdaftar di pengganti dengan benar, dan kemudian menyebabkan proses pengganti keluar.

Proses pengganti harus memanggil fungsi CoFreeUnusedLibraries secara berkala untuk membongkar server DLL yang tidak lagi digunakan. Proses pengganti mengasumsikan tanggung jawab ini, yang biasanya menjadi tanggung jawab klien. CoFreeUnusedLibraries memanggil fungsi DllCanUnloadNow pada server DLL yang dimuat. Karena CoFreeUnusedLibraries tergantung pada keberadaan dan implementasi DllCanUnloadNow yang tepat di server DLL, tidak dijamin untuk membongkar semua server DLL yang harus dibongkar --tidak setiap server mengimplementasikan DllCanUnloadNow, dan fungsi ini tidak dapat diandalkan untuk DLL berulir bebas. Selain itu, pengganti tidak memiliki cara untuk diberi tahu ketika semua server DLL hilang. COM, bagaimanapun, dapat menentukan kapan semua server DLL telah dibongkar, dan kemudian akan memanggil metode FreeSurrogate .

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows 2000 Server [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header objidlbase.h (termasuk ObjIdl.h)

Lihat juga

DllSurrogate

ISurrogate

Menulis Pengganti Kustom