Fungsi DllCanUnloadNow (combaseapi.h)

Menentukan apakah DLL yang mengimplementasikan fungsi ini sedang digunakan. Jika tidak, pemanggil dapat membongkar DLL dari memori.

OLE tidak menyediakan fungsi ini. DLL yang mendukung Model Objek Komponen (COM) OLE harus menerapkan dan mengekspor DllCanUnloadNow.

Sintaks

HRESULT DllCanUnloadNow();

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan S_OK. Jika tidak, itu S_FALSE.

Keterangan

Panggilan ke DllCanUnloadNow menentukan apakah DLL tempatnya diekspor masih digunakan. DLL tidak lagi digunakan ketika tidak mengelola objek yang ada (jumlah referensi pada semua objeknya adalah 0).

Catatan untuk Penelepon

Anda seharusnya tidak perlu memanggil DllCanUnloadNow secara langsung. OLE memanggilnya hanya melalui panggilan ke fungsi CoFreeUnusedLibraries . Saat mengembalikan S_OK, CoFreeUnusedLibraries membebaskan DLL.

Catatan untuk Pelaksana

Anda harus menerapkan DllCanUnloadNow di, dan mengekspornya dari, DLL yang akan dimuat secara dinamis melalui panggilan ke fungsi CoGetClassObject . (Anda juga perlu menerapkan dan mengekspor fungsi DllGetClassObject di DLL yang sama).

Jika DLL yang dimuat melalui panggilan ke CoGetClassObject gagal mengekspor DllCanUnloadNow, DLL tidak akan dibongkar sampai aplikasi memanggil fungsi CoUninitialize untuk merilis pustaka OLE.

DllCanUnloadNow harus mengembalikan S_FALSE jika ada referensi yang ada ke objek yang dikelola DLL.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header combaseapi.h (termasuk Objbase.h)

Lihat juga

DllGetClassObject