Kelas COleObjectFactory
Menerapkan pabrik kelas OLE, yang membuat objek OLE seperti server, objek otomatisasi, dan dokumen.
Sintaks
class COleObjectFactory : public CCmdTarget
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
COleObjectFactory::COleObjectFactory | Membuat COleObjectFactory objek. |
Metode Publik
Nama | Deskripsi |
---|---|
COleObjectFactory::GetClassID | Mengembalikan ID kelas OLE dari objek yang dibuat pabrik ini. |
COleObjectFactory::IsLicenseValid | Menentukan apakah lisensi kontrol valid. |
COleObjectFactory::IsRegistered | Menunjukkan apakah pabrik objek terdaftar di DLL sistem OLE. |
COleObjectFactory::Register | Mendaftarkan pabrik objek ini dengan DLL sistem OLE. |
COleObjectFactory::RegisterAll | Mendaftarkan semua pabrik objek aplikasi dengan DLL sistem OLE. |
COleObjectFactory::Revoke | Mencabut pendaftaran pabrik objek ini dengan DLL sistem OLE. |
COleObjectFactory::RevokeAll | Mencabut pendaftaran pabrik objek aplikasi dengan DLL sistem OLE. |
COleObjectFactory::UnregisterAll | Membatalkan pendaftaran semua pabrik objek aplikasi. |
COleObjectFactory::UpdateRegistry | Mendaftarkan pabrik objek ini dengan registri sistem OLE. |
COleObjectFactory::UpdateRegistryAll | Mendaftarkan semua pabrik objek aplikasi dengan registri sistem OLE. |
Metode yang Dilindungi
Nama | Deskripsi |
---|---|
COleObjectFactory::GetLicenseKey | Meminta kunci unik dari DLL kontrol. |
COleObjectFactory::OnCreateObject | Dipanggil oleh kerangka kerja untuk membuat objek baru dari jenis pabrik ini. |
COleObjectFactory::VerifyLicenseKey | Memverifikasi bahwa kunci yang disematkan dalam kontrol cocok dengan kunci yang disematkan dalam kontainer. |
COleObjectFactory::VerifyUserLicense | Memverifikasi bahwa kontrol dilisensikan untuk penggunaan waktu desain. |
Keterangan
Kelas COleObjectFactory
ini memiliki fungsi anggota untuk melakukan fungsi berikut:
Mengelola pendaftaran objek.
Memperbarui pendaftaran sistem OLE, serta pendaftaran run-time yang memberi tahu OLE bahwa objek berjalan dan siap menerima pesan.
Memberlakukan lisensi dengan membatasi penggunaan kontrol kepada pengembang berlisensi pada waktu desain dan ke aplikasi berlisensi pada waktu proses.
Mendaftarkan pabrik objek kontrol dengan registri sistem OLE.
Untuk informasi selengkapnya tentang pembuatan objek, lihat artikel Objek Data dan Sumber Data (OLE) dan Objek Data dan Sumber Data: Pembuatan dan Penghancuran. Untuk informasi selengkapnya tentang pendaftaran, lihat artikel Pendaftaran.
Hierarki Warisan
COleObjectFactory
Persyaratan
Header: afxdisp.h
COleObjectFactory::COleObjectFactory
Membuat COleObjectFactory
objek, menginisialisasinya sebagai pabrik objek yang tidak terdaftar, dan menambahkannya ke daftar pabrik.
COleObjectFactory(
REFCLSID clsid,
CRuntimeClass* pRuntimeClass,
BOOL bMultiInstance,
LPCTSTR lpszProgID);
COleObjectFactory(
REFCLSID clsid,
CRuntimeClass* pRuntimeClass,
BOOL bMultiInstance,
int nFlags,
LPCTSTR lpszProgID);
Parameter
Clsid
Referensi ke ID kelas OLE yang diwakili pabrik objek ini.
pRuntimeClass
Penunjuk ke kelas run-time objek C++ yang dapat dibuat pabrik ini.
bMultiInstance
Menunjukkan apakah satu instans aplikasi dapat mendukung beberapa instans. Jika TRUE, beberapa instans aplikasi diluncurkan untuk setiap permintaan untuk membuat objek.
nFlags
Berisi satu atau beberapa bendera berikut:
afxRegDefault
Mengatur model utas ke ThreadingModel=Apartment.afxRegInsertable
Memungkinkan kontrol muncul dalam kotak dialog Sisipkan Objek untuk objek OLE.afxRegApartmentThreading
Mengatur model utas dalam registri ke ThreadingModel=Apartment.afxRegFreeThreading
Mengatur model utas dalam registri ke ThreadingModel=Free.Anda dapat menggabungkan dua bendera
afxRegApartmentThreading
danafxRegFreeThreading
untuk mengatur ThreadingModel=Both. Lihat InprocServer32 di Windows SDK untuk informasi selengkapnya tentang pendaftaran model utas.
lpszProgID
Penunjuk ke string yang berisi pengidentifikasi program verbal, seperti "Microsoft Excel."
Keterangan
Namun, untuk menggunakan objek, Anda harus mendaftarkannya.
Untuk informasi selengkapnya, lihat Kunci CLSID di Windows SDK.
COleObjectFactory::GetClassID
Mengembalikan referensi ke ID kelas OLE yang diwakili pabrik ini.
REFCLSID GetClassID() const;
Tampilkan Nilai
Referensi ke ID kelas OLE yang diwakili pabrik ini.
Keterangan
Untuk informasi selengkapnya, lihat Kunci CLSID di Windows SDK.
COleObjectFactory::GetLicenseKey
Meminta kunci lisensi unik dari DLL kontrol dan menyimpannya di BSTR yang ditujukkan oleh pbstrKey.
virtual BOOL GetLicenseKey(
DWORD dwReserved,
BSTR* pbstrKey);
Parameter
dwReserved
Disiapkan untuk penggunaan masa mendatang.
pbstrKey
Penunjuk ke BSTR yang akan menyimpan kunci lisensi.
Tampilkan Nilai
Bukan nol jika string kunci lisensi bukan NULL; jika tidak, 0.
Keterangan
Implementasi default fungsi ini mengembalikan 0 dan tidak menyimpan apa pun di BSTR. Jika Anda menggunakan MFC ActiveX ControlWizard untuk membuat proyek Anda, ControlWizard menyediakan penimpaan yang mengambil kunci lisensi kontrol.
COleObjectFactory::IsLicenseValid
Menentukan apakah lisensi kontrol valid.
BOOL IsLicenseValid();
Tampilkan Nilai
TRUE jika berhasil; jika tidak salah.
COleObjectFactory::IsRegistered
Mengembalikan nilai bukan nol jika pabrik terdaftar dengan DLL sistem OLE.
virtual BOOL IsRegistered() const;
Tampilkan Nilai
Nonzero jika pabrik terdaftar; jika tidak, 0.
COleObjectFactory::OnCreateObject
Dipanggil oleh kerangka kerja untuk membuat objek baru.
virtual CCmdTarget* OnCreateObject();
Tampilkan Nilai
Penunjuk ke objek yang dibuat. Ini dapat melemparkan pengecualian memori jika gagal.
Keterangan
Ambil alih fungsi ini untuk membuat objek dari sesuatu selain CRuntimeClass yang diteruskan ke konstruktor.
COleObjectFactory::Register
Mendaftarkan pabrik objek ini dengan DLL sistem OLE.
virtual BOOL Register();
Tampilkan Nilai
Nonzero jika pabrik berhasil didaftarkan; jika tidak, 0.
Keterangan
Fungsi ini biasanya dipanggil oleh CWinApp::InitInstance saat aplikasi diluncurkan.
COleObjectFactory::RegisterAll
Mendaftarkan semua pabrik objek aplikasi dengan DLL sistem OLE.
static BOOL PASCAL RegisterAll();
Tampilkan Nilai
Nonzero jika pabrik berhasil didaftarkan; jika tidak, 0.
Keterangan
Fungsi ini biasanya dipanggil oleh CWinApp::InitInstance saat aplikasi diluncurkan.
COleObjectFactory::Revoke
Mencabut pendaftaran pabrik objek ini dengan DLL sistem OLE.
void Revoke();
Keterangan
Kerangka kerja memanggil fungsi ini secara otomatis sebelum aplikasi berakhir. Jika perlu, panggil dari penimpaan CWinApp::ExitInstance.
COleObjectFactory::RevokeAll
Mencabut semua pendaftaran pabrik objek aplikasi dengan DLL sistem OLE.
static void PASCAL RevokeAll();
Keterangan
Kerangka kerja memanggil fungsi ini secara otomatis sebelum aplikasi berakhir. Jika perlu, panggil dari penimpaan CWinApp::ExitInstance.
COleObjectFactory::UnregisterAll
Membatalkan pendaftaran semua pabrik objek aplikasi.
static BOOL PASCAL UnregisterAll();
Tampilkan Nilai
TRUE jika berhasil; jika tidak FALSE.
COleObjectFactory::UpdateRegistry
Mendaftarkan semua pabrik objek aplikasi dengan registri sistem OLE.
void UpdateRegistry(LPCTSTR lpszProgID = NULL);
virtual BOOL UpdateRegistry(BOOL bRegister);
Parameter
lpszProgID
Penunjuk ke string yang berisi pengidentifikasi program yang dapat dibaca manusia, seperti "Excel.Document.5."
bRegister
Menentukan apakah pabrik objek kelas kontrol akan didaftarkan.
Keterangan
Diskusi singkat dari dua formulir untuk fungsi ini mengikuti:
UpdateRegistry(
lpszProgID
) Mendaftarkan pabrik objek ini dengan registri sistem OLE. Fungsi ini biasanya dipanggil oleh CWinApp::InitInstance saat aplikasi diluncurkan.UpdateRegistry(
bRegister
) Bentuk fungsi ini dapat diganti. Jika bRegister TRUE, fungsi ini mendaftarkan kelas kontrol dengan registri sistem. Jika tidak, itu membatalkan pendaftaran kelas.Jika Anda menggunakan MFC ActiveX ControlWizard untuk membuat proyek Anda, ControlWizard menyediakan penimpaan ke fungsi virtual murni ini.
COleObjectFactory::UpdateRegistryAll
Mendaftarkan semua pabrik objek aplikasi dengan registri sistem OLE.
static BOOL PASCAL UpdateRegistryAll(BOOL bRegister = TRUE);
Parameter
bRegister
Menentukan apakah pabrik objek kelas kontrol akan didaftarkan.
Tampilkan Nilai
Nonzero jika pabrik berhasil diperbarui; jika tidak, 0.
Keterangan
Fungsi ini biasanya dipanggil oleh CWinApp::InitInstance saat aplikasi diluncurkan.
COleObjectFactory::VerifyLicenseKey
Memverifikasi bahwa kontainer dilisensikan untuk menggunakan kontrol OLE.
virtual BOOL VerifyLicenseKey(BSTR bstrKey);
Parameter
bstrKey
BSTR yang menyimpan versi kontainer dari string lisensi.
Tampilkan Nilai
Bukan nol jika lisensi run-time valid; jika tidak, 0.
Keterangan
Versi default memanggil GetLicenseKey untuk mendapatkan salinan string lisensi kontrol dan membandingkannya dengan string di bstrKey. Jika dua string cocok, fungsi mengembalikan nilai bukan nol; jika tidak, ia mengembalikan 0.
Anda dapat mengambil alih fungsi ini untuk menyediakan verifikasi lisensi yang disesuaikan.
Fungsi VerifyUserLicense memverifikasi lisensi waktu desain.
COleObjectFactory::VerifyUserLicense
Memverifikasi lisensi waktu desain untuk kontrol OLE.
virtual BOOL VerifyUserLicense();
Tampilkan Nilai
Bukan nol jika lisensi waktu desain valid; jika tidak, 0.
Baca juga
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