Kelas CComModule
Pada ATL 7.0, CComModule
tidak digunakan lagi: lihat Kelas Modul ATL untuk detail selengkapnya.
Penting
Kelas ini dan anggotanya tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime.
Sintaks
class CComModule : public _ATL_MODULE
Anggota
Metode Publik
Nama | Deskripsi |
---|---|
CComModule::GetClassObject | Membuat objek CLSID tertentu. Hanya untuk DLL. |
CComModule::GetModuleInstance | Menampilkan m_hInst . |
CComModule::GetResourceInstance | Menampilkan m_hInstResource . |
CComModule::GetTypeLibInstance | Menampilkan m_hInstTypeLib . |
CComModule::Init | Menginisialisasi anggota data. |
CComModule::RegisterClassHelper | Memasukkan pendaftaran kelas standar objek di registri sistem. |
CComModule::RegisterClassObjects | Mendaftarkan objek kelas. Hanya untuk EXEs. |
CComModule::RegisterServer | Memperbarui registri sistem untuk setiap objek di peta objek. |
CComModule::RegisterTypeLib | Mendaftarkan pustaka jenis. |
CComModule::RevokeClassObjects | Mencabut objek kelas. Hanya untuk EXEs. |
CComModule::Term | Merilis anggota data. |
CComModule::UnregisterClassHelper | Menghapus pendaftaran kelas standar objek dari registri sistem. |
CComModule::UnregisterServer | Membatalkan pendaftaran setiap objek di peta objek. |
CComModule::UpdateRegistryClass | Mendaftarkan atau membatalkan pendaftaran kelas standar objek. |
CComModule::UpdateRegistryFromResourceD | Menjalankan skrip yang terkandung dalam sumber daya tertentu untuk mendaftarkan atau membatalkan pendaftaran objek. |
CComModule::UpdateRegistryFromResourceS | Secara statis menautkan ke Komponen Registri ATL. Menjalankan skrip yang terkandung dalam sumber daya tertentu untuk mendaftarkan atau membatalkan pendaftaran objek. |
Anggota Data Publik
Nama | Deskripsi |
---|---|
CComModule::m_csObjMap | Memastikan akses yang disinkronkan ke informasi peta objek. |
CComModule::m_csTypeInfoHolder | Memastikan akses yang disinkronkan ke informasi pustaka jenis. |
CComModule::m_csWindowCreate | Memastikan akses yang disinkronkan ke informasi kelas jendela dan data statis yang digunakan selama pembuatan jendela. |
CComModule::m_hInst | Berisi handel ke instans modul. |
CComModule::m_hInstResource | Secara default, berisi handel ke instans modul. |
CComModule::m_hInstTypeLib | Secara default, berisi handel ke instans modul. |
CComModule::m_pObjMap | Menunjuk ke peta objek yang dikelola oleh instans modul. |
Keterangan
Catatan
Kelas ini tidak digunakan lagi, dan wizard pembuatan kode ATL sekarang menggunakan kelas turunan CAtlAutoThreadModule dan CAtlModule . Lihat Kelas Modul ATL untuk informasi selengkapnya. Informasi berikut adalah untuk digunakan dengan aplikasi yang dibuat dengan rilis ATL yang lebih lama. CComModule
masih merupakan bagian dari ATL untuk kemampuan mundur.
CComModule
mengimplementasikan modul server COM, memungkinkan klien untuk mengakses komponen modul. CComModule
mendukung modul DLL (dalam proses) dan EXE (lokal).
CComModule
Instans menggunakan peta objek untuk mempertahankan sekumpulan definisi objek kelas. Peta objek ini diimplementasikan sebagai array _ATL_OBJMAP_ENTRY
struktur, dan berisi informasi untuk:
Memasukkan dan menghapus deskripsi objek di registri sistem.
Membuat instans objek melalui pabrik kelas.
Membangun komunikasi antara klien dan objek akar dalam komponen.
Melakukan manajemen seumur hidup objek kelas.
Saat Anda menjalankan APPWizard COM ATL, wizard secara otomatis menghasilkan , instans _Module
CComModule
global atau kelas yang berasal darinya. Untuk informasi selengkapnya tentang Wizard Proyek ATL, lihat artikel Membuat Proyek ATL.
Selain CComModule
, ATL menyediakan CComAutoThreadModule, yang mengimplementasikan modul model apartemen untuk EXEs dan layanan Windows. Dapatkan modul Anda dari CComAutoThreadModule
kapan Anda ingin membuat objek di beberapa apartemen.
Hierarki Warisan
CComModule
Persyaratan
Header: atlbase.h
CComModule::GetClassObject
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
HRESULT GetClassObject(
REFCLSID rclsid,
REFIID riid,
LPVOID* ppv) throw();
Parameter
rclsid
[di] CLSID objek yang akan dibuat.
riid
[masuk] IID antarmuka yang diminta .
ppv
[out] Penunjuk ke penunjuk antarmuka yang diidentifikasi oleh riid. Jika objek tidak mendukung antarmuka ini, ppv diatur ke NULL.
Tampilkan Nilai
Nilai HRESULT standar.
Keterangan
Membuat objek CLSID yang ditentukan dan mengambil penunjuk antarmuka ke objek ini.
GetClassObject
hanya tersedia untuk DLL.
CComModule::GetModuleInstance
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
HINSTANCE GetModuleInstance() throw();
Tampilkan Nilai
HINSTANCE mengidentifikasi modul ini.
Keterangan
Mengembalikan anggota data m_hInst .
CComModule::GetResourceInstance
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
HINSTANCE GetResourceInstance() throw();
Tampilkan Nilai
SEBUAH HINSTANCE.
Keterangan
Mengembalikan anggota data m_hInstResource .
CComModule::GetTypeLibInstance
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
HINSTANCE GetTypeLibInstance() const throw();
Tampilkan Nilai
SEBUAH HINSTANCE.
Keterangan
Mengembalikan anggota data m_hInstTypeLib .
CComModule::Init
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
HRESULT Init(
_ATL_OBJMAP_ENTRY* p,
HINSTANCE h,
const GUID* plibid = NULL) throw();
Parameter
p
[di] Penunjuk ke array entri peta objek.
h
[di] HINSTANCE diteruskan ke DLLMain
atau WinMain
.
plibid
[di] Penunjuk ke LIBID pustaka jenis yang terkait dengan proyek.
Tampilkan Nilai
Nilai HRESULT standar.
Keterangan
Menginisialisasi semua anggota data.
CComModule::m_csObjMap
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
CRITICAL_SECTION m_csObjMap;
Keterangan
Memastikan akses yang disinkronkan ke peta objek.
CComModule::m_csTypeInfoHolder
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
CRITICAL_SECTION m_csTypeInfoHolder;
Keterangan
Memastikan akses yang disinkronkan ke pustaka jenis.
CComModule::m_csWindowCreate
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
CRITICAL_SECTION m_csWindowCreate;
Keterangan
Memastikan akses yang disinkronkan ke informasi kelas jendela dan ke data statis yang digunakan selama pembuatan jendela.
CComModule::m_hInst
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
HINSTANCE m_hInst;
Keterangan
Berisi handel ke instans modul.
Metode Init diatur m_hInst
ke handel yang diteruskan ke DLLMain
atau WinMain
.
CComModule::m_hInstResource
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
HINSTANCE m_hInstResource;
Keterangan
Secara default, berisi handel ke instans modul.
Metode Init diatur m_hInstResource
ke handel yang diteruskan ke DLLMain
atau WinMain
. Anda dapat secara eksplisit mengatur m_hInstResource
ke handel ke sumber daya.
Metode GetResourceInstance mengembalikan handel yang disimpan di m_hInstResource
.
CComModule::m_hInstTypeLib
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
HINSTANCE m_hInstTypeLib;
Keterangan
Secara default, berisi handel ke instans modul.
Metode Init diatur m_hInstTypeLib
ke handel yang diteruskan ke DLLMain
atau WinMain
. Anda dapat secara eksplisit mengatur m_hInstTypeLib
ke handel ke pustaka jenis.
Metode GetTypeLibInstance mengembalikan handel yang disimpan di m_hInstTypeLib
.
CComModule::m_pObjMap
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
_ATL_OBJMAP_ENTRY* m_pObjMap;
Keterangan
Menunjuk ke peta objek yang dikelola oleh instans modul.
CComModule::RegisterClassHelper
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
ATL_DEPRECATED HRESULT RegisterClassHelper(
const CLSID& clsid,
LPCTSTR lpszProgID,
LPCTSTR lpszVerIndProgID,
UINT nDescID,
DWORD dwFlags);
Parameter
clsid
[di] CLSID objek yang akan didaftarkan.
lpszProgID
[di] ProgID yang terkait dengan objek .
lpszVerIndProgID
[di] ProgID independen versi yang terkait dengan objek .
nDescID
[di] Pengidentifikasi sumber daya string untuk deskripsi objek.
dwFlags
[di] Menentukan model utas yang akan dimasukkan dalam registri. Nilai yang mungkin THREADFLAGS_APARTMENT, THREADFLAGS_BOTH, atau AUTPRXFLAG.
Tampilkan Nilai
Nilai HRESULT standar.
Keterangan
Memasukkan pendaftaran kelas standar objek di registri sistem.
Metode UpdateRegistryClass memanggil RegisterClassHelper
.
CComModule::RegisterClassObjects
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
HRESULT RegisterClassObjects(DWORD dwClsContext, DWORD dwFlags) throw();
Parameter
dwClsContext
[di] Menentukan konteks di mana objek kelas akan dijalankan. Nilai yang mungkin CLSCTX_INPROC_SERVER, CLSCTX_INPROC_HANDLER, atau CLSCTX_LOCAL_SERVER. Untuk deskripsi nilai-nilai ini, lihat CLSCTX di Windows SDK.
dwFlags
[di] Menentukan jenis koneksi ke objek kelas. Nilai yang mungkin REGCLS_SINGLEUSE, REGCLS_MULTIPLEUSE, atau REGCLS_MULTI_SEPARATE. Untuk deskripsi nilai-nilai ini, lihat REGCLS di Windows SDK.
Tampilkan Nilai
Nilai HRESULT standar.
Keterangan
Mendaftarkan objek kelas EXE dengan OLE sehingga aplikasi lain dapat terhubung ke objek tersebut. Metode ini hanya tersedia untuk EXE.
CComModule::RegisterServer
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
HRESULT RegisterServer(
BOOL bRegTypeLib = FALSE,
const CLSID* pCLSID = NULL) throw();
Parameter
bRegTypeLib
[di] Menunjukkan apakah pustaka jenis akan didaftarkan. Nilai defaultnya adalah FALSE.
pCLSID
[di] Arahkan ke CLSID objek yang akan didaftarkan. Jika NULL (nilai default), semua objek dalam peta objek akan didaftarkan.
Tampilkan Nilai
Nilai HRESULT standar.
Keterangan
Bergantung pada parameter pCLSID , perbarui registri sistem untuk satu objek kelas atau untuk semua objek di peta objek.
Jika bRegTypeLib TRUE, informasi pustaka jenis juga akan diperbarui.
Lihat OBJECT_ENTRY_AUTO untuk informasi tentang cara menambahkan entri ke peta objek.
RegisterServer
akan dipanggil secara otomatis oleh DLLRegisterServer
untuk DLL atau untuk WinMain
eksekusi EXE dengan /RegServer
opsi baris perintah.
CComModule::RegisterTypeLib
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
HRESULT RegisterTypeLib() throw();
HRESULT RegisterTypeLib(LPCTSTR lpszIndex) throw();
Parameter
lpszIndex
[di] String dalam format "\\N"
, di mana N
adalah indeks bilangan bulat dari sumber daya TYPELIB.
Tampilkan Nilai
Nilai HRESULT standar.
Keterangan
Menambahkan informasi tentang pustaka jenis ke registri sistem.
Jika instans modul berisi beberapa jenis pustaka, gunakan versi kedua metode ini untuk menentukan pustaka jenis mana yang harus digunakan.
CComModule::RevokeClassObjects
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
HRESULT RevokeClassObjects() throw();
Tampilkan Nilai
Nilai HRESULT standar.
Keterangan
Menghapus objek kelas. Metode ini hanya tersedia untuk EXE.
CComModule::Term
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
void Term() throw();
Keterangan
Merilis semua anggota data.
CComModule::UnregisterClassHelper
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
ATL_DEPRECATED HRESULT UnregisterClassHelper(
const CLSID& clsid,
LPCTSTR lpszProgID,
LPCTSTR lpszVerIndProgID);
Parameter
clsid
[di] CLSID objek yang akan dibatalkan pendaftarannya.
lpszProgID
[di] ProgID yang terkait dengan objek .
lpszVerIndProgID
[di] ProgID independen versi yang terkait dengan objek .
Tampilkan Nilai
Nilai HRESULT standar.
Keterangan
Menghapus pendaftaran kelas standar objek dari registri sistem.
Metode UpdateRegistryClass memanggil UnregisterClassHelper
.
CComModule::UnregisterServer
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
HRESULT UnregisterServer(const CLSID* pCLSID = NULL) throw ();
inline HRESULT UnregisterServer(BOOL bUnRegTypeLib, const CLSID* pCLSID = NULL) throw ();
Parameter
bUnRegTypeLib
Jika TRUE, pustaka jenis juga tidak terdaftar.
pCLSID
Menunjuk ke CLSID objek yang tidak terdaftar. Jika NULL (nilai default), semua objek dalam peta objek akan tidak terdaftar.
Tampilkan Nilai
Nilai HRESULT standar.
Keterangan
Bergantung pada parameter pCLSID , membatalkan pendaftaran objek kelas tunggal atau semua objek di peta objek.
UnregisterServer
akan dipanggil secara otomatis oleh DLLUnregisterServer
untuk DLL atau untuk WinMain
eksekusi EXE dengan /UnregServer
opsi baris perintah.
Lihat OBJECT_ENTRY_AUTO untuk informasi tentang cara menambahkan entri ke peta objek.
CComModule::UpdateRegistryClass
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
ATL_DEPRECATED HRESULT UpdateRegistryClass(
const CLSID& clsid,
LPCTSTR lpszProgID,
LPCTSTR lpszVerIndProgID,
UINT nDescID,
DWORD dwFlags,
BOOL bRegister);
ATL_DEPRECATED HRESULT UpdateRegistryClass(
const CLSID& clsid,
LPCTSTR lpszProgID,
LPCTSTR lpszVerIndProgID,
LPCTSTR szDesc,
DWORD dwFlags,
BOOL bRegister);
Parameter
clsid
CLSID objek yang akan didaftarkan atau tidak terdaftar.
lpszProgID
ProgID yang terkait dengan objek .
lpszVerIndProgID
ProgID independen versi yang terkait dengan objek .
nDescID
Pengidentifikasi sumber daya string untuk deskripsi objek.
szDesc
String yang berisi deskripsi objek.
dwFlags
Menentukan model utas yang akan dimasukkan dalam registri. Nilai yang mungkin THREADFLAGS_APARTMENT, THREADFLAGS_BOTH, atau AUTPRXFLAG.
bRegister
Menunjukkan apakah objek harus didaftarkan.
Tampilkan Nilai
Nilai HRESULT standar.
Keterangan
Jika bRegister TRUE, metode ini memasukkan pendaftaran kelas standar objek di registri sistem.
Jika bRegister FALSE, bRegister akan menghapus pendaftaran objek.
Tergantung pada nilai bRegister, UpdateRegistryClass
panggilan baik RegisterClassHelper atau UnregisterClassHelper.
Dengan menentukan makro DECLARE_REGISTRY , UpdateRegistryClass
akan dipanggil secara otomatis ketika peta objek Anda diproses.
CComModule::UpdateRegistryFromResourceD
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
virtual HRESULT UpdateRegistryFromResourceD(
LPCTSTR lpszRes,
BOOL bRegister,
struct _ATL_REGMAP_ENTRY* pMapEntries = NULL) throw();
virtual HRESULT UpdateRegistryFromResourceD(
UINT nResID,
BOOL bRegister,
struct _ATL_REGMAP_ENTRY* pMapEntries = NULL) throw ();
Parameter
lpszRes
[di] Nama sumber daya.
nResID
[di] ID sumber daya.
bRegister
[di] Menunjukkan apakah objek harus didaftarkan.
pMapEntries
[di] Penunjuk ke nilai penyimpanan peta pengganti yang terkait dengan parameter skrip yang dapat diganti. ATL secara otomatis menggunakan %MODULE%
. Untuk menggunakan parameter tambahan yang dapat diganti, lihat Keterangan untuk detailnya. Jika tidak, gunakan nilai default NULL.
Tampilkan Nilai
Nilai HRESULT standar.
Keterangan
Menjalankan skrip yang terkandung dalam sumber daya yang ditentukan oleh lpszRes atau nResID.
Jika bRegister TRUE, metode ini mendaftarkan objek dalam registri sistem; jika tidak, ia membatalkan pendaftaran objek.
Dengan menentukan makro DECLARE_REGISTRY_RESOURCE atau DECLARE_REGISTRY_RESOURCEID , UpdateRegistryFromResourceD
akan dipanggil secara otomatis saat peta objek Anda diproses.
Catatan
Untuk mengganti nilai pengganti pada waktu proses, jangan tentukan makro DECLARE_REGISTRY_RESOURCE atau DECLARE_REGISTRY_RESOURCEID. Sebagai gantinya, buat array _ATL_REGMAP_ENTRIES
struktur, di mana setiap entri berisi tempat penampung variabel yang dipasangkan dengan nilai untuk mengganti tempat penampung pada waktu proses. Kemudian panggil UpdateRegistryFromResourceD
, meneruskan array untuk parameter pMapEntries . Ini menambahkan semua nilai pengganti dalam _ATL_REGMAP_ENTRIES
struktur ke peta penggantian Registrar.
Catatan
Untuk menautkan secara statis ke Komponen Registri ATL (Registrar), lihat UpdateRegistryFromResourceS.
Untuk informasi selengkapnya tentang parameter dan pembuatan skrip yang dapat diganti, lihat artikel Komponen Registri ATL (Pencatat).
CComModule::UpdateRegistryFromResourceS
Pada ATL 7.0, CComModule
sudah usang: lihat Kelas Modul ATL untuk detail selengkapnya.
virtual HRESULT UpdateRegistryFromResourceS(
LPCTSTR lpszRes,
BOOL bRegister,
struct _ATL_REGMAP_ENTRY* pMapEntries = NULL) throw();
virtual HRESULT UpdateRegistryFromResourceS(
UINT nResID,
BOOL bRegister,
struct _ATL_REGMAP_ENTRY* pMapEntries = NULL) throw();
Parameter
lpszRes
[di] Nama sumber daya.
nResID
[di] ID sumber daya.
bRegister
[di] Menunjukkan apakah skrip sumber daya harus didaftarkan.
pMapEntries
[di] Penunjuk ke nilai penyimpanan peta pengganti yang terkait dengan parameter skrip yang dapat diganti. ATL secara otomatis menggunakan %MODULE%
. Untuk menggunakan parameter tambahan yang dapat diganti, lihat Keterangan untuk detailnya. Jika tidak, gunakan nilai default NULL.
Tampilkan Nilai
Nilai HRESULT standar.
Keterangan
Mirip dengan UpdateRegistryFromResourceD kecuali UpdateRegistryFromResourceS
membuat tautan statis ke Komponen Registri ATL (Registrar).
UpdateRegistryFromResourceS
akan dipanggil secara otomatis ketika peta objek Anda diproses, asalkan Anda menambahkan #define _ATL_STATIC_REGISTRY
ke pch.h (stdafx.h di Visual Studio 2017 dan yang lebih lama).
Catatan
Untuk mengganti nilai pengganti pada waktu proses, jangan tentukan makro DECLARE_REGISTRY_RESOURCE atau DECLARE_REGISTRY_RESOURCEID . Sebagai gantinya, buat array _ATL_REGMAP_ENTRIES
struktur, di mana setiap entri berisi tempat penampung variabel yang dipasangkan dengan nilai untuk mengganti tempat penampung pada waktu proses. Kemudian panggil UpdateRegistryFromResourceS
, meneruskan array untuk parameter pMapEntries . Ini menambahkan semua nilai pengganti dalam _ATL_REGMAP_ENTRIES
struktur ke peta penggantian Registrar.
Untuk informasi selengkapnya tentang parameter dan pembuatan skrip yang dapat diganti, lihat artikel Komponen Registri ATL (Pencatat).