Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
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:
afxRegDefaultA szálmodellt a ThreadingModel=Apartment értékre állítja.afxRegInsertableLehetővé teszi, hogy a vezérlő megjelenjen az OLE-objektumok Objektum beszúrása párbeszédpanelén.afxRegApartmentThreadingA beállításjegyzékben lévő szálmodellt a ThreadingModel=Apartment értékre állítja.afxRegFreeThreadingA beállításjegyzékben lévő szálmodellt a ThreadingModel=Free értékre állítja.Kombinálhatja a két jelzőt, és
afxRegFreeThreadingbeállíthatjaafxRegApartmentThreadinga 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