Kelas CAtlDllModuleT
Kelas ini mewakili modul untuk DLL.
Sintaks
template <class T>
class ATL_NO_VTABLE CAtlDllModuleT : public CAtlModuleT<T>
Parameter
T
Kelas Anda berasal dari CAtlDllModuleT
.
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CAtlDllModuleT::CAtlDllModuleT | Konstruktor. |
CAtlDllModuleT::~CAtlDllModuleT | Destruktor. |
Metode Publik
Nama | Deskripsi |
---|---|
CAtlDllModuleT::D llCanUnloadNow | Menguji apakah DLL dapat dibongkar. |
CAtlDllModuleT::D llGetClassObject | Mengembalikan pabrik kelas. |
CAtlDllModuleT::D llMain | Titik entri opsional ke pustaka tautan dinamis (DLL). |
CAtlDllModuleT::D llRegisterServer | Menambahkan entri ke registri sistem untuk objek di DLL. |
CAtlDllModuleT::D llUnregisterServer | Menghapus entri dalam registri sistem untuk objek di DLL. |
CAtlDllModuleT::GetClassObject | Mengembalikan pabrik kelas. Dipanggil oleh DllGetClassObject. |
Keterangan
CAtlDllModuleT
mewakili modul untuk pustaka tautan dinamis (DLL) dan menyediakan fungsi yang digunakan oleh semua proyek DLL. Spesialisasi kelas CAtlModuleT ini mencakup dukungan untuk pendaftaran.
Untuk informasi selengkapnya tentang modul di ATL, lihat Kelas Modul ATL.
Hierarki Warisan
CAtlDllModuleT
Persyaratan
Header: atlbase.h
CAtlDllModuleT::CAtlDllModuleT
Konstruktor.
CAtlDllModuleT() throw();
CAtlDllModuleT::~CAtlDllModuleT
Destruktor.
~CAtlDllModuleT() throw();
CAtlDllModuleT::D llCanUnloadNow
Menguji apakah DLL dapat dibongkar.
HRESULT DllCanUnloadNow() throw();
Tampilkan Nilai
Mengembalikan S_OK jika DLL dapat dibongkar, atau S_FALSE jika tidak bisa.
CAtlDllModuleT::D llGetClassObject
Mengembalikan pabrik kelas.
HRESULT DllGetClassObject(
REFCLSID rclsid,
REFIID riid,
LPVOID* ppv) throw();
Parameter
rclsid
CLSID objek yang akan dibuat.
riid
IID antarmuka yang diminta.
Ppv
Penunjuk ke penunjuk antarmuka yang diidentifikasi oleh riid. Jika objek tidak mendukung antarmuka ini, ppv diatur ke NULL.
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
CAtlDllModuleT::D llMain
Titik entri opsional ke pustaka tautan dinamis (DLL).
BOOL WINAPI DllMain(DWORD dwReason, LPVOID /* lpReserved*/) throw();
Parameter
dwReason
Jika diatur ke DLL_PROCESS_ATTACH, panggilan pemberitahuan DLL_THREAD_ATTACH dan DLL_THREAD_DETACH dinonaktifkan.
lpReserved
Dicadangkan.
Tampilkan Nilai
Selalu mengembalikan TRUE.
Keterangan
Menonaktifkan panggilan pemberitahuan DLL_THREAD_ATTACH dan DLL_THREAD_DETACH dapat menjadi pengoptimalan yang berguna untuk aplikasi multithreaded yang memiliki banyak DLL, yang sering membuat dan menghapus utas, dan yang DLL-nya tidak memerlukan pemberitahuan tingkat utas lampiran/detasemen ini.
CAtlDllModuleT::D llRegisterServer
Menambahkan entri ke registri sistem untuk objek di DLL.
HRESULT DllRegisterServer(BOOL bRegTypeLib = TRUE) throw();
Parameter
bRegTypeLib
TRUE jika pustaka jenis akan didaftarkan. Nilai defaultnya adalah TRUE.
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
CAtlDllModuleT::D llUnregisterServer
Menghapus entri dalam registri sistem untuk objek di DLL.
HRESULT DllUnregisterServer(BOOL bUnRegTypeLib = TRUE) throw();
Parameter
bUnRegTypeLib
TRUE jika pustaka jenis akan dihapus dari registri. Nilai defaultnya adalah TRUE.
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
CAtlDllModuleT::GetClassObject
Membuat objek DARI CLSID yang ditentukan.
HRESULT GetClassObject(
REFCLSID rclsid,
REFIID riid,
LPVOID* ppv) throw();
Parameter
rclsid
CLSID objek yang akan dibuat.
riid
IID antarmuka yang diminta.
Ppv
Penunjuk ke penunjuk antarmuka yang diidentifikasi oleh riid. Jika objek tidak mendukung antarmuka ini, ppv diatur ke NULL.
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
Keterangan
Metode ini dipanggil oleh CAtlDllModuleT::D llGetClassObject dan disertakan untuk kompatibilitas mundur.
Baca juga
Kelas CAtlModuleT
Kelas CAtlExeModuleT
Gambaran Umum Kelas
Kelas Modul
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk