COleObjectFactory Sınıfı
Sunucular, otomasyon nesneleri ve belgeler gibi OLE nesneleri oluşturan OLE sınıf fabrikasını uygular.
Sözdizimi
class COleObjectFactory : public CCmdTarget
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
COleObjectFactory::COleObjectFactory | Bir COleObjectFactory nesne oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
COleObjectFactory::GetClassID | Bu fabrikanın oluşturduğu nesnelerin OLE sınıf kimliğini döndürür. |
COleObjectFactory::IsLicenseValid | Denetimin lisansının geçerli olup olmadığını belirler. |
COleObjectFactory::IsRegistered | Nesne fabrikasının OLE sistem DLL'lerine kayıtlı olup olmadığını gösterir. |
COleObjectFactory::Register | Bu nesne fabrikasını OLE sistem DLL'lerine kaydeder. |
COleObjectFactory::RegisterAll | Uygulamanın nesne fabrikalarının tümünü OLE sistemi DLL'lerine kaydeder. |
COleObjectFactory::Revoke | Bu nesne fabrikasının OLE sistemi DLL'lerine kaydını iptal eder. |
COleObjectFactory::RevokeAll | Ole sistemi DLL'leri ile uygulamanın nesne fabrikalarının kayıtlarını iptal eder. |
COleObjectFactory::UnregisterAll | Bir uygulamanın nesne fabrikalarının tümünün kaydını kaldırmış olur. |
COleObjectFactory::UpdateRegistry | Bu nesne fabrikasını OLE sistem kayıt defterine kaydeder. |
COleObjectFactory::UpdateRegistryAll | Uygulamanın nesne fabrikalarının tümünü OLE sistem kayıt defterine kaydeder. |
Korumalı Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
COleObjectFactory::GetLicenseKey | Denetimin DLL'sinden benzersiz bir anahtar istemektedir. |
COleObjectFactory::OnCreateObject | Bu fabrika türünün yeni bir nesnesini oluşturmak için çerçeve tarafından çağrılır. |
COleObjectFactory::VerifyLicenseKey | Denetime eklenen anahtarın kapsayıcıya eklenmiş anahtarla eşleşdiğini doğrular. |
COleObjectFactory::VerifyUserLicense | Denetimin tasarım zamanı kullanımı için lisanslandığını doğrular. |
Açıklamalar
sınıfı, COleObjectFactory
aşağıdaki işlevleri gerçekleştirmek için üye işlevlerine sahiptir:
Nesnelerin kaydını yönetme.
OLE sistem kaydının yanı sıra nesnelerin çalıştığını ve iletileri almaya hazır olduğunu OLE'ye bildiren çalışma zamanı kaydını güncelleştirme.
Denetimin kullanımını tasarım zamanında lisanslı geliştiricilerle ve çalışma zamanında lisanslı uygulamalarla sınırlayarak lisans uygulamayı zorunlu tutma.
Denetim nesnesi fabrikalarını OLE sistem kayıt defterine kaydetme.
Nesne oluşturma hakkında daha fazla bilgi için Veri Nesneleri ve Veri Kaynakları (OLE) ile Veri Nesneleri ve Veri Kaynakları: Oluşturma ve Yok Etme makalelerine bakın. Kayıt hakkında daha fazla bilgi için Kayıt makalesine bakın.
Devralma Hiyerarşisi
COleObjectFactory
Gereksinimler
Üst bilgi: afxdisp.h
COleObjectFactory::COleObjectFactory
Bir COleObjectFactory
nesne oluşturur, onu kaydedilmemiş bir nesne fabrikası olarak başlatır ve fabrika listesine ekler.
COleObjectFactory(
REFCLSID clsid,
CRuntimeClass* pRuntimeClass,
BOOL bMultiInstance,
LPCTSTR lpszProgID);
COleObjectFactory(
REFCLSID clsid,
CRuntimeClass* pRuntimeClass,
BOOL bMultiInstance,
int nFlags,
LPCTSTR lpszProgID);
Parametreler
clsid
Bu nesne fabrikasının temsil ettiği OLE sınıf kimliğine başvuru.
pRuntimeClass
Bu fabrikanın oluşturabileceği C++ nesnelerinin çalışma zamanı sınıfına işaretçi.
bMultiInstance
Uygulamanın tek bir örneğinin birden çok örneklemeyi destekleyip desteklemediğini gösterir. TRUE ise, her nesne oluşturma isteği için uygulamanın birden çok örneği başlatılır.
nFlags
Aşağıdaki bayraklardan birini veya daha fazlasını içerir:
afxRegDefault
İş parçacığı modelini ThreadingModel=Apartment olarak ayarlar.afxRegInsertable
DENETIMIn OLE nesneleri için Nesne Ekle iletişim kutusunda görünmesine izin verir.afxRegApartmentThreading
Kayıt defterindeki iş parçacığı modelini ThreadingModel=Apartment olarak ayarlar.afxRegFreeThreading
Kayıt defterindeki iş parçacığı modelini ThreadingModel=Free olarak ayarlar.İki bayrağı
afxRegApartmentThreading
afxRegFreeThreading
birleştirip ThreadingModel=Both değerini ayarlayabilirsiniz. İş parçacığı modeli kaydı hakkında daha fazla bilgi için bkz . Windows SDK'sında InprocServer32 .
lpszProgID
"Microsoft Excel" gibi sözlü program tanımlayıcısı içeren bir dizenin işaretçisi.
Açıklamalar
Ancak nesnesini kullanmak için bunu kaydetmeniz gerekir.
Daha fazla bilgi için bkz . Windows SDK'sında CLSID Anahtarı .
COleObjectFactory::GetClassID
Bu fabrikanın temsil ettiği OLE sınıf kimliğine bir başvuru döndürür.
REFCLSID GetClassID() const;
Dönüş Değeri
Bu fabrikanın temsil ettiği OLE sınıf kimliğine başvuru.
Açıklamalar
Daha fazla bilgi için bkz . Windows SDK'sında CLSID Anahtarı .
COleObjectFactory::GetLicenseKey
Denetimin DLL'sinden benzersiz bir lisans anahtarı ister ve pbstrKey ile işaret edilen BSTR'de depolar.
virtual BOOL GetLicenseKey(
DWORD dwReserved,
BSTR* pbstrKey);
Parametreler
dwReserved
Daha sonraki kullanımlar için ayrılmıştır.
pbstrKey
Lisans anahtarını depolayacak bir BSTR işaretçisi.
Dönüş Değeri
Lisans anahtarı dizesi NULL değilse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu işlevin varsayılan uygulaması 0 döndürür ve BSTR'de hiçbir şey depolamaz. Projenizi oluşturmak için MFC ActiveX ControlWizard kullanırsanız, ControlWizard denetimin lisans anahtarını alan bir geçersiz kılma sağlar.
COleObjectFactory::IsLicenseValid
Denetimin lisansının geçerli olup olmadığını belirler.
BOOL IsLicenseValid();
Dönüş Değeri
Başarılı olursa DOĞRU; aksi takdirde false.
COleObjectFactory::IsRegistered
Fabrika OLE sistemi DLL'lerine kayıtlıysa sıfır olmayan bir değer döndürür.
virtual BOOL IsRegistered() const;
Dönüş Değeri
Fabrika kayıtlıysa sıfır olmayan; aksi takdirde 0.
COleObjectFactory::OnCreateObject
Yeni bir nesne oluşturmak için çerçeve tarafından çağrılır.
virtual CCmdTarget* OnCreateObject();
Dönüş Değeri
Oluşturulan nesnenin işaretçisi. Başarısız olursa bir bellek özel durumu oluşturabilir.
Açıklamalar
Oluşturucuya geçirilen CRuntimeClass dışında bir öğeden nesne oluşturmak için bu işlevi geçersiz kılın.
COleObjectFactory::Register
Bu nesne fabrikasını OLE sistem DLL'lerine kaydeder.
virtual BOOL Register();
Dönüş Değeri
Fabrika başarıyla kaydedildiyse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu işlev genellikle uygulama başlatıldığında CWinApp::InitInstance tarafından çağrılır.
COleObjectFactory::RegisterAll
Uygulamanın tüm nesne fabrikalarını OLE sistemi DLL'lerine kaydeder.
static BOOL PASCAL RegisterAll();
Dönüş Değeri
Fabrikalar başarıyla kaydedilirse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu işlev genellikle uygulama başlatıldığında CWinApp::InitInstance tarafından çağrılır.
COleObjectFactory::Revoke
Bu nesne fabrikasının OLE sistemi DLL'lerine kaydını iptal eder.
void Revoke();
Açıklamalar
Uygulama sonlandırilmeden önce çerçeve bu işlevi otomatik olarak çağırır. Gerekirse, CWinApp::ExitInstance geçersiz kılmasından çağırın.
COleObjectFactory::RevokeAll
Ole sistemi DLL'leri ile uygulamanın nesne fabrikalarının tüm kayıtlarını iptal eder.
static void PASCAL RevokeAll();
Açıklamalar
Uygulama sonlandırilmeden önce çerçeve bu işlevi otomatik olarak çağırır. Gerekirse, CWinApp::ExitInstance geçersiz kılmasından çağırın.
COleObjectFactory::UnregisterAll
Bir uygulamanın nesne fabrikalarının tümünün kaydını kaldırmış olur.
static BOOL PASCAL UnregisterAll();
Dönüş Değeri
Başarılı olursa DOĞRU; aksi takdirde YANLIŞ.
COleObjectFactory::UpdateRegistry
Uygulamanın nesne fabrikalarının tümünü OLE sistem kayıt defterine kaydeder.
void UpdateRegistry(LPCTSTR lpszProgID = NULL);
virtual BOOL UpdateRegistry(BOOL bRegister);
Parametreler
lpszProgID
"Excel.Document.5" gibi, okunabilir program tanımlayıcısını içeren bir dizenin işaretçisi.
bRegister
Denetim sınıfının nesne fabrikasının kaydedilip kaydedilmeyeceğini belirler.
Açıklamalar
Bu işlev için iki formun kısa tartışmaları şu şekildedir:
UpdateRegistry(
lpszProgID
) Bu nesne fabrikasını OLE sistem kayıt defterine kaydeder. Bu işlev genellikle uygulama başlatıldığında CWinApp::InitInstance tarafından çağrılır.UpdateRegistry(
bRegister
) İşlevin bu biçimi geçersiz kılınabilir. bRegister TRUE ise, bu işlev denetim sınıfını sistem kayıt defterine kaydeder. Aksi takdirde, sınıfın kaydını kaldırmış olur.Projenizi oluşturmak için MFC ActiveX ControlWizard kullanırsanız, ControlWizard bu saf sanal işlev için bir geçersiz kılma sağlar.
COleObjectFactory::UpdateRegistryAll
Uygulamanın nesne fabrikalarının tümünü OLE sistem kayıt defterine kaydeder.
static BOOL PASCAL UpdateRegistryAll(BOOL bRegister = TRUE);
Parametreler
bRegister
Denetim sınıfının nesne fabrikasının kaydedilip kaydedilmeyeceğini belirler.
Dönüş Değeri
Fabrikalar başarıyla güncelleştirilirse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu işlev genellikle uygulama başlatıldığında CWinApp::InitInstance tarafından çağrılır.
COleObjectFactory::VerifyLicenseKey
Kapsayıcının OLE denetimini kullanmak için lisanslandığını doğrular.
virtual BOOL VerifyLicenseKey(BSTR bstrKey);
Parametreler
bstrKey
Lisans dizesinin kapsayıcı sürümünü depolayarak bir BSTR.
Dönüş Değeri
Çalışma zamanı lisansı geçerliyse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Varsayılan sürüm, denetimin lisans dizesinin bir kopyasını almak için GetLicenseKey'i çağırır ve bunu bstrKey'deki dizeyle karşılaştırır. İki dize eşleşirse işlev sıfır olmayan bir değer döndürür; aksi takdirde 0 döndürür.
Lisansın özelleştirilmiş doğrulamasını sağlamak için bu işlevi geçersiz kılabilirsiniz.
VerifyUserLicense işlevi tasarım zamanı lisansını doğrular.
COleObjectFactory::VerifyUserLicense
OLE denetimi için tasarım zamanı lisansını doğrular.
virtual BOOL VerifyUserLicense();
Dönüş Değeri
Tasarım zamanı lisansı geçerliyse sıfır olmayan; aksi takdirde 0.
Ayrıca bkz.
CCmdTarget Sınıfı
Hiyerarşi Grafiği
COleTemplateServer Sınıfı