Megosztás a következőn keresztül:


COleObjectFactory osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

Implementálja az OLE osztálygyárat, amely OLE-objektumokat, például kiszolgálókat, automatizálási objektumokat és dokumentumokat hoz létre.

Szemantika

class COleObjectFactory : public CCmdTarget

Tagok

Nyilvános konstruktorok

Név Description
COleObjectFactory::COleObjectFactory Egy COleObjectFactory objektumot hoz létre.

Nyilvános metódusok

Név Description
COleObjectFactory::GetClassID A gyár által létrehozott objektumok OLE osztályazonosítóját adja vissza.
COleObjectFactory::IsLicenseValid Meghatározza, hogy a vezérlő licence érvényes-e.
COleObjectFactory::IsRegistered Azt jelzi, hogy az objektum-előállító regisztrálva van-e az OLE rendszer DLL-jeiben.
COleObjectFactory::Register Regisztrálja ezt az objektum-előállítót az OLE rendszer DLL-jeivel.
COleObjectFactory::RegisterAll Regisztrálja az alkalmazás összes objektumgyárát az OLE rendszer DLL-jeivel.
COleObjectFactory::Visszavonás Visszavonja az objektum-előállító regisztrációját az OLE rendszer DLL-jeinél.
COleObjectFactory::RevokeAll Visszavonja egy alkalmazás objektum-előállítói regisztrációját az OLE rendszer DLL-jeinél.
COleObjectFactory::UnregisterAll Az alkalmazás összes objektum-előállítójának regisztrációjának törlése.
COleObjectFactory::UpdateRegistry Regisztrálja ezt az objektum-előállítót az OLE rendszerregisztrációs adatbázisában.
COleObjectFactory::UpdateRegistryAll Regisztrálja az alkalmazás összes objektumgyárát az OLE rendszerregisztrációs adatbázisában.

Védett metódusok

Név Description
COleObjectFactory::GetLicenseKey Egyedi kulcsot kér a vezérlő DLL-éből.
COleObjectFactory::OnCreateObject A keretrendszer meghívta, hogy hozzon létre egy új objektumot ennek a gyárnak a típusából.
COleObjectFactory::VerifyLicenseKey Ellenőrzi, hogy a vezérlőbe ágyazott kulcs egyezik-e a tárolóba ágyazott kulccsal.
COleObjectFactory::VerifyUserLicense Ellenőrzi, hogy a vezérlő tervezési időre van-e licencelve.

Megjegyzések

Az COleObjectFactory osztály tagfüggvényekkel rendelkezik a következő függvények végrehajtásához:

  • Objektumok regisztrációjának kezelése.

  • Az OLE rendszerregisztrációjának frissítése, valamint a futásidejű regisztráció, amely tájékoztatja az OLE-t, hogy az objektumok futnak, és készen állnak az üzenetek fogadására.

  • A licencelés kényszerítése azáltal, hogy korlátozza a vezérlés használatát a licenccel rendelkező fejlesztők számára a tervezéskor és a licencelt alkalmazások futásidejű használatára.

  • Vezérlőobjektum-előállítók regisztrálása az OLE rendszerregisztrációs adatbázisában.

Az objektumlétrehozásról további információt az Adatobjektumok és adatforrások (OLE) és az Adatobjektumok és adatforrások: Létrehozás és megsemmisítés című cikkben talál. A regisztrációval kapcsolatos további információkért lásd a Regisztráció című cikket.

Öröklési hierarchia

CObject

CCmdTarget

COleObjectFactory

Requirements

Fejléc: afxdisp.h

COleObjectFactory::COleObjectFactory

Létrehoz egy COleObjectFactory objektumot, inicializálja azt regisztrálatlan objektum-előállítóként, és hozzáadja a gyárak listájához.

COleObjectFactory(
    REFCLSID clsid,
    CRuntimeClass* pRuntimeClass,
    BOOL bMultiInstance,
    LPCTSTR lpszProgID);

COleObjectFactory(
    REFCLSID clsid,
    CRuntimeClass* pRuntimeClass,
    BOOL bMultiInstance,
    int nFlags,
    LPCTSTR lpszProgID);

Paraméterek

clsid
Hivatkozás az objektum-előállító által képviselt OLE osztályazonosítóra.

pRuntimeClass
Mutasson a gyár által létrehozható C++ objektumok futásidejű osztályára.

bMultiInstance
Azt jelzi, hogy az alkalmazás egyetlen példánya támogat-e több példányt. Ha IGAZ, az alkalmazás több példánya is elindul minden egyes kéréshez egy objektum létrehozásához.

nFlags
Az alábbi jelölők közül legalább egyet tartalmaz:

  • afxRegDefault A szálmodellt a ThreadingModel=Apartment értékre állítja.

  • afxRegInsertable Lehetővé teszi, hogy a vezérlő megjelenjen az OLE-objektumok Objektum beszúrása párbeszédpanelén.

  • afxRegApartmentThreading A beállításjegyzékben lévő szálmodellt a ThreadingModel=Apartment értékre állítja.

  • afxRegFreeThreading A beállításjegyzékben lévő szálmodellt a ThreadingModel=Free értékre állítja.

    Kombinálhatja a két jelzőt, és afxRegFreeThreading beállíthatja afxRegApartmentThreading a ThreadingModel=Both értéket. A szálmodell-regisztrációval kapcsolatos további információkért lásd: InprocServer32 a Windows SDK-ban.

lpszProgID
Mutasson egy verbális programazonosítót tartalmazó sztringre, például a "Microsoft Excelre".

Megjegyzések

Az objektum használatához azonban regisztrálnia kell azt.

További információ: CLSID-kulcs a Windows SDK-ban.

COleObjectFactory::GetClassID

A gyár által megadott OLE-osztályazonosítóra mutató hivatkozást ad vissza.

REFCLSID GetClassID() const;

Visszaadott érték

A gyár által képviselt OLE-osztályazonosítóra való hivatkozás.

Megjegyzések

További információ: CLSID-kulcs a Windows SDK-ban.

COleObjectFactory::GetLicenseKey

Egyedi licenckulcsot kér a vezérlő DLL-étől, és a pbstrKey által mutatott BSTR-ben tárolja.

virtual BOOL GetLicenseKey(
    DWORD dwReserved,
    BSTR* pbstrKey);

Paraméterek

dwReserved
Jövőbeli használatra fenntartva.

pbstrKey
Mutasson a licenckulcsot tároló BSTR-hez.

Visszaadott érték

Nem nulla, ha a licenckulcs sztringje nem NULL; egyéb esetben 0.

Megjegyzések

A függvény alapértelmezett implementációja 0 értéket ad vissza, és semmit sem tárol a BSTR-ben. Ha az MFC ActiveX ControlWizard használatával hozza létre a projektet, a ControlWizard egy felülbírálást biztosít, amely lekéri a vezérlő licenckulcsát.

COleObjectFactory::IsLicenseValid

Meghatározza, hogy a vezérlő licence érvényes-e.

BOOL IsLicenseValid();

Visszaadott érték

IGAZ, ha sikeres; egyéb esetben hamis.

COleObjectFactory::IsRegistered

Nemero értéket ad vissza, ha a gyár regisztrálva van az OLE rendszer DLL-jeiben.

virtual BOOL IsRegistered() const;

Visszaadott érték

Nonzero, ha a gyárat regisztrálták; egyéb esetben 0.

COleObjectFactory::OnCreateObject

A keretrendszer meghívta egy új objektum létrehozásához.

virtual CCmdTarget* OnCreateObject();

Visszaadott érték

Mutató a létrehozott objektumra. Memóriakivételt okozhat, ha nem sikerül.

Megjegyzések

Felülbírálja ezt a függvényt, hogy az objektumot a konstruktornak átadott CRuntimeClasstól eltérő okból hozza létre.

COleObjectFactory::Register

Regisztrálja ezt az objektum-előállítót az OLE rendszer DLL-jeivel.

virtual BOOL Register();

Visszaadott érték

Nonzero, ha a gyár sikeresen regisztrálva van; egyéb esetben 0.

Megjegyzések

Ezt a függvényt általában a CWinApp::InitInstance hívja meg az alkalmazás indításakor.

COleObjectFactory::RegisterAll

Regisztrálja az alkalmazás összes objektumgyárát az OLE rendszer DLL-jeivel.

static BOOL PASCAL RegisterAll();

Visszaadott érték

Nonzero, ha a gyárak sikeresen regisztrálva vannak; egyéb esetben 0.

Megjegyzések

Ezt a függvényt általában a CWinApp::InitInstance hívja meg az alkalmazás indításakor.

COleObjectFactory::Visszavonás

Visszavonja az objektum-előállító regisztrációját az OLE rendszer DLL-jeinél.

void Revoke();

Megjegyzések

A keretrendszer automatikusan meghívja ezt a függvényt, mielőtt az alkalmazás leáll. Szükség esetén hívja meg a CWinApp::ExitInstance felülbírálásából.

COleObjectFactory::RevokeAll

Visszavonja az alkalmazás objektum-előállítóinak összes regisztrációját az OLE rendszer DLL-jeinél.

static void PASCAL RevokeAll();

Megjegyzések

A keretrendszer automatikusan meghívja ezt a függvényt, mielőtt az alkalmazás leáll. Szükség esetén hívja meg a CWinApp::ExitInstance felülbírálásából.

COleObjectFactory::UnregisterAll

Az alkalmazás összes objektum-előállítójának regisztrációjának törlése.

static BOOL PASCAL UnregisterAll();

Visszaadott érték

IGAZ, ha sikeres; egyéb esetben HAMIS.

COleObjectFactory::UpdateRegistry

Regisztrálja az alkalmazás összes objektumgyárát az OLE rendszerregisztrációs adatbázisában.

void UpdateRegistry(LPCTSTR lpszProgID = NULL);
virtual BOOL UpdateRegistry(BOOL bRegister);

Paraméterek

lpszProgID
Mutasson egy olyan sztringre, amely tartalmazza az ember által olvasható programazonosítót, például az "Excel.Document.5"-et.

bRegister
Meghatározza, hogy a vezérlőosztály objektum-előállítóját regisztrálni kell-e.

Megjegyzések

A függvény két űrlapjának rövid megbeszélései a következők:

  • Az UpdateRegistry(lpszProgID) regisztrálja ezt az objektum-előállítót az OLE rendszerregisztrációs adatbázisában. Ezt a függvényt általában a CWinApp::InitInstance hívja meg az alkalmazás indításakor.

  • UpdateRegistry(bRegister) A függvény ezen formája felülírható. Ha a bRegister ÉRTÉKE IGAZ, ez a függvény regisztrálja a vezérlőosztályt a rendszerregisztrációs adatbázissal. Ellenkező esetben az osztály regisztrációjának törlése.

    Ha az MFC ActiveX ControlWizard használatával hozza létre a projektet, a ControlWizard felülbírálást biztosít ehhez a tiszta virtuális függvényhez.

COleObjectFactory::UpdateRegistryAll

Regisztrálja az alkalmazás összes objektumgyárát az OLE rendszerregisztrációs adatbázisában.

static BOOL PASCAL UpdateRegistryAll(BOOL bRegister = TRUE);

Paraméterek

bRegister
Meghatározza, hogy a vezérlőosztály objektum-előállítóját regisztrálni kell-e.

Visszaadott érték

Nonzero, ha a gyárak sikeresen frissülnek; egyéb esetben 0.

Megjegyzések

Ezt a függvényt általában a CWinApp::InitInstance hívja meg az alkalmazás indításakor.

COleObjectFactory::VerifyLicenseKey

Ellenőrzi, hogy a tároló rendelkezik-e licenccel az OLE-vezérlő használatára.

virtual BOOL VerifyLicenseKey(BSTR bstrKey);

Paraméterek

bstrKey
A licencsztring tárolóverzióját tároló BSTR.

Visszaadott érték

Nonzero, ha a futásidejű licenc érvényes; egyéb esetben 0.

Megjegyzések

Az alapértelmezett verzió meghívja a GetLicenseKey-t a vezérlő licencsztringjének másolatának lekérésére, és összehasonlítja azt a bstrKey sztringjével. Ha a két sztring egyezik, a függvény nemero értéket ad vissza; ellenkező esetben 0 értéket ad vissza.

Ezt a függvényt felülbírálhatja a licenc személyre szabott ellenőrzéséhez.

A VerifyUserLicense függvény ellenőrzi a tervezési idő licencét.

COleObjectFactory::VerifyUserLicense

Ellenőrzi az OLE-vezérlő tervezési idejének licencét.

virtual BOOL VerifyUserLicense();

Visszaadott érték

Nem érvényes, ha a tervezési idő licenc érvényes; egyéb esetben 0.

Lásd még

CCmdTarget osztály
hierarchiadiagram
COleTemplateServer osztály