Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Implementeert de OLE-klassefactory, waarmee OLE-objecten worden gemaakt, zoals servers, automatiseringsobjecten en documenten.
Syntaxis
class COleObjectFactory : public CCmdTarget
Leden
Openbare constructors
| Naam | Description |
|---|---|
| COleObjectFactory::COleObjectFactory | Maakt een COleObjectFactory object. |
Openbare methoden
| Naam | Description |
|---|---|
| COleObjectFactory::GetClassID | Retourneert de OLE-klasse-id van de objecten die door deze factory worden gemaakt. |
| COleObjectFactory::IsLicenseValid | Bepaalt of de licentie van het besturingselement geldig is. |
| COleObjectFactory::IsRegistered | Geeft aan of de objectfactory is geregistreerd bij de OLE-systeem-DLL's. |
| COleObjectFactory::Register | Registreert deze objectfactory met de OLE-systeem-DLL's. |
| COleObjectFactory::RegisterAll | Registreert alle objectfabrieken van de toepassing met OLE-systeem-DLL's. |
| COleObjectFactory::Revoke | Hiermee wordt de registratie van deze objectfactory bij de OLE-systeem-DLL's ingetrokken. |
| COleObjectFactory::RevokeAll | Hiermee worden de registraties van object factory's van een toepassing met de OLE-systeem-DLL's ingetrokken. |
| COleObjectFactory::UnregisterAll | De registratie van alle objectfabrieken van een toepassing ongedaan maken. |
| COleObjectFactory::UpdateRegistry | Registreert deze objectfactory bij het OLE-systeemregister. |
| COleObjectFactory::UpdateRegistryAll | Registreert alle objectfabrieken van de toepassing met het OLE-systeemregister. |
Beveiligde methoden
| Naam | Description |
|---|---|
| COleObjectFactory::GetLicenseKey | Vraagt een unieke sleutel aan vanuit het DLL-bestand van het besturingselement. |
| COleObjectFactory::OnCreateObject | Aangeroepen door het framework om een nieuw object van het type van deze fabriek te maken. |
| COleObjectFactory::VerifyLicenseKey | Controleert of de sleutel die is ingesloten in het besturingselement overeenkomt met de sleutel die is ingesloten in de container. |
| COleObjectFactory::VerifyUserLicense | Controleert of het besturingselement een licentie heeft voor ontwerptijdgebruik. |
Opmerkingen
De COleObjectFactory klasse heeft lidfuncties voor het uitvoeren van de volgende functies:
De registratie van objecten beheren.
Het OLE-systeemregister bijwerken, evenals de runtimeregistratie waarmee OLE wordt geïnformeerd dat objecten worden uitgevoerd en gereed zijn voor het ontvangen van berichten.
Het afdwingen van licenties door het gebruik van het besturingselement te beperken tot gelicentieerde ontwikkelaars tijdens het ontwerp en aan gelicentieerde toepassingen tijdens runtime.
Controleobjectfabrieken registreren bij het OLE-systeemregister.
Zie de artikelen Gegevensobjecten en Gegevensbronnen (OLE) en Gegevensobjecten en Gegevensbronnen: Maken en Vernietigen voor meer informatie over het maken van objecten. Zie het artikel Registratie voor meer informatie over registratie.
Overnamehiërarchie
COleObjectFactory
Requirements
Koptekst: afxdisp.h
COleObjectFactory::COleObjectFactory
Hiermee wordt een COleObjectFactory object samengesteld, geïnitialiseerd als een niet-geregistreerde objectfactory en toegevoegd aan de lijst met factory's.
COleObjectFactory(
REFCLSID clsid,
CRuntimeClass* pRuntimeClass,
BOOL bMultiInstance,
LPCTSTR lpszProgID);
COleObjectFactory(
REFCLSID clsid,
CRuntimeClass* pRuntimeClass,
BOOL bMultiInstance,
int nFlags,
LPCTSTR lpszProgID);
Parameterwaarden
clsid
Verwijzing naar de OLE-klasse-id die deze objectfactory vertegenwoordigt.
pRuntimeClass
Wijs de runtimeklasse van de C++-objecten aan die deze factory kan maken.
bMultiInstance
Hiermee wordt aangegeven of één exemplaar van de toepassing meerdere instanties kan ondersteunen. Als WAAR is, worden meerdere exemplaren van de toepassing gestart voor elke aanvraag om een object te maken.
nFlags
Bevat een of meer van de volgende vlaggen:
afxRegDefaultStelt het threadingmodel in op ThreadingModel=Apartment.afxRegInsertableHiermee kan het besturingselement worden weergegeven in het dialoogvenster Object invoegen voor OLE-objecten.afxRegApartmentThreadingStelt het threadingmodel in het register in op ThreadingModel=Apartment.afxRegFreeThreadingHiermee stelt u het threadingmodel in het register in op ThreadingModel=Free.U kunt de twee vlaggen
afxRegApartmentThreadingcombineren enafxRegFreeThreadingThreadingModel=Beide instellen. Zie InprocServer32 in de Windows SDK voor meer informatie over de registratie van threading-modellen.
lpszProgID
Wijs een tekenreeks aan die een verbale programma-id bevat, zoals 'Microsoft Excel'.
Opmerkingen
Als u het object echter wilt gebruiken, moet u het registreren.
Zie CLSID-sleutel in de Windows SDK voor meer informatie.
COleObjectFactory::GetClassID
Retourneert een verwijzing naar de OLE-klasse-id die deze factory vertegenwoordigt.
REFCLSID GetClassID() const;
Retourwaarde
Verwijzing naar de OLE-klasse-id die deze factory vertegenwoordigt.
Opmerkingen
Zie CLSID-sleutel in de Windows SDK voor meer informatie.
COleObjectFactory::GetLicenseKey
Vraagt een unieke licentiesleutel aan vanuit het DLL-bestand van het besturingselement en slaat deze op in de BSTR waarnaar wordt verwezen door pbstrKey.
virtual BOOL GetLicenseKey(
DWORD dwReserved,
BSTR* pbstrKey);
Parameterwaarden
dwReserved
Gereserveerd voor toekomstig gebruik.
pbstrKey
Wijs een BSTR aan waarmee de licentiesleutel wordt opgeslagen.
Retourwaarde
Niet-nul als de tekenreeks met de licentiesleutel niet NULL is; anders 0.
Opmerkingen
De standaard implementatie van deze functie retourneert 0 en slaat niets op in de BSTR. Als u MFC ActiveX ControlWizard gebruikt om uw project te maken, levert ControlWizard een onderdrukking waarmee de licentiesleutel van het besturingselement wordt opgehaald.
COleObjectFactory::IsLicenseValid
Bepaalt of de licentie van het besturingselement geldig is.
BOOL IsLicenseValid();
Retourwaarde
WAAR indien geslaagd; anders onwaar.
COleObjectFactory::IsRegistered
Retourneert een niet-nulwaarde als de factory is geregistreerd bij de OLE-systeem-DLL's.
virtual BOOL IsRegistered() const;
Retourwaarde
Niet-nul indien de fabriek is geregistreerd; anders 0.
COleObjectFactory::OnCreateObject
Aangeroepen door het framework om een nieuw object te maken.
virtual CCmdTarget* OnCreateObject();
Retourwaarde
Een aanwijzer naar het gemaakte object. Er kan een geheugen-uitzondering optreden als deze mislukt.
Opmerkingen
Overschrijf deze functie om het object te maken op basis van iets anders dan de CRuntimeClass die aan de constructor is doorgegeven.
COleObjectFactory::Register
Registreert deze objectfactory met de OLE-systeem-DLL's.
virtual BOOL Register();
Retourwaarde
Niet-nul als de fabriek is geregistreerd; anders 0.
Opmerkingen
Deze functie wordt meestal aangeroepen door CWinApp::InitInstance wanneer de toepassing wordt gestart.
COleObjectFactory::RegisterAll
Registreert alle objectfabrieken van de toepassing met de OLE-systeem-DLL's.
static BOOL PASCAL RegisterAll();
Retourwaarde
Niet-nul als de fabrieken zijn geregistreerd; anders 0.
Opmerkingen
Deze functie wordt meestal aangeroepen door CWinApp::InitInstance wanneer de toepassing wordt gestart.
COleObjectFactory::Revoke
Hiermee wordt de registratie van deze objectfactory bij de OLE-systeem-DLL's ingetrokken.
void Revoke();
Opmerkingen
Dit framework roept deze functie automatisch aan voordat de toepassing wordt beëindigd. Roep deze indien nodig aan via een onderdrukking van CWinApp::ExitInstance.
COleObjectFactory::RevokeAll
Hiermee worden alle registraties van object factory's van de toepassing met de OLE-systeem-DLL's ingetrokken.
static void PASCAL RevokeAll();
Opmerkingen
Dit framework roept deze functie automatisch aan voordat de toepassing wordt beëindigd. Roep deze indien nodig aan via een onderdrukking van CWinApp::ExitInstance.
COleObjectFactory::UnregisterAll
De registratie van alle objectfabrieken van een toepassing ongedaan maken.
static BOOL PASCAL UnregisterAll();
Retourwaarde
WAAR indien geslaagd; anders ONWAAR.
COleObjectFactory::UpdateRegistry
Registreert alle objectfabrieken van de toepassing met het OLE-systeemregister.
void UpdateRegistry(LPCTSTR lpszProgID = NULL);
virtual BOOL UpdateRegistry(BOOL bRegister);
Parameterwaarden
lpszProgID
Wijs een tekenreeks aan met de door mensen leesbare programma-id, zoals 'Excel.Document.5'.
bRegister
Bepaalt of de objectfactory van de besturingsklasse moet worden geregistreerd.
Opmerkingen
Korte discussies over de twee formulieren voor deze functie volgen:
UpdateRegistry(
lpszProgID) Registreert deze objectfactory bij het OLE-systeemregister. Deze functie wordt meestal aangeroepen door CWinApp::InitInstance wanneer de toepassing wordt gestart.UpdateRegistry(
bRegister) Deze vorm van de functie kan worden overschreven. Als bRegister TRUE is, registreert deze functie de besturingsklasse bij het systeemregister. Anders wordt de registratie van de klasse ongedaan maken.Als u MFC ActiveX ControlWizard gebruikt om uw project te maken, biedt ControlWizard een onderdrukking aan deze pure virtuele functie.
COleObjectFactory::UpdateRegistryAll
Registreert alle objectfabrieken van de toepassing met het OLE-systeemregister.
static BOOL PASCAL UpdateRegistryAll(BOOL bRegister = TRUE);
Parameterwaarden
bRegister
Bepaalt of de objectfactory van de besturingsklasse moet worden geregistreerd.
Retourwaarde
Niet-nul als de factory's zijn bijgewerkt; anders 0.
Opmerkingen
Deze functie wordt meestal aangeroepen door CWinApp::InitInstance wanneer de toepassing wordt gestart.
COleObjectFactory::VerifyLicenseKey
Controleert of de container een licentie heeft voor het gebruik van het OLE-besturingselement.
virtual BOOL VerifyLicenseKey(BSTR bstrKey);
Parameterwaarden
bstrKey
Een BSTR die de versie van de container van de licentiereeks opslaat.
Retourwaarde
Niet-nul als de runtimelicentie geldig is; anders 0.
Opmerkingen
De standaardversie roept GetLicenseKey aan om een kopie van de licentiereeks van het besturingselement op te halen en vergelijkt deze met de tekenreeks in bstrKey. Als de twee tekenreeksen overeenkomen, retourneert de functie een niet-nulwaarde; anders wordt 0 geretourneerd.
U kunt deze functie overschrijven om aangepaste verificatie van de licentie te bieden.
De functie VerifyUserLicense controleert de ontwerptijdlicentie.
COleObjectFactory::VerifyUserLicense
Controleert de ontwerptijdlicentie voor het OLE-besturingselement.
virtual BOOL VerifyUserLicense();
Retourwaarde
Niet-nul als de licentie voor ontwerptijd geldig is; anders 0.
Zie ook
CCmdTarget-klasse
Hiërarchiegrafiek
COleTemplateServer-klasse