Aracılığıyla paylaş


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

CObject

CCmdTarget

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.

  • afxRegInsertableDENETIMIn 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ı