Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Opmerking
De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Deze macro's definiëren nuttige typebibliotheek- en registerfaciliteiten.
| Naam | Description |
|---|---|
| _ATL_STATIC_REGISTRY | Geeft aan dat u wilt dat de registratiecode voor uw object zich in het object bevindt om een afhankelijkheid van ATL.DLL te voorkomen. |
| DECLARE_LIBID | Biedt een manier voor ATL om de libid van de typebibliotheek te verkrijgen. |
| DECLARE_NO_REGISTRY | Vermijdt standaard ATL-registratie. |
| DECLARE_REGISTRY | Hiermee wordt de vermelding van het hoofdobject in het systeemregister ingevoerd of verwijderd. |
| DECLARE_REGISTRY_APPID_RESOURCEID | Hiermee geeft u de informatie op die nodig is om de appid automatisch te registreren. |
| DECLARE_REGISTRY_RESOURCE | Hiermee wordt de benoemde resource gevonden en wordt het registerscript erin uitgevoerd. |
| DECLARE_REGISTRY_RESOURCEID | Hiermee wordt de resource gevonden die is geïdentificeerd door een id-nummer en wordt het registerscript erin uitgevoerd. |
Requirements
Koptekst: atlcom.h
_ATL_STATIC_REGISTRY
Een symbool dat aangeeft dat de registratiecode voor uw object in het object moet staan om een afhankelijkheid van ATL.DLL te voorkomen.
#define _ATL_STATIC_REGISTRY
Opmerkingen
Wanneer u ATL_STATIC_REGISTRY definieert, moet u de volgende code gebruiken:
#ifdef _ATL_STATIC_REGISTRY
#include <statreg.h>
#endif
DECLARE_LIBID
Biedt een manier voor ATL om de libid van de typebibliotheek te verkrijgen.
DECLARE_LIBID( libid )
Parameterwaarden
libid
De GUID van het typebibliotheek.
Opmerkingen
Gebruik DECLARE_LIBID in een CAtlModuleT-afgeleide klasse.
Example
Niet-toegeschreven, door de wizard gegenereerde ATL-projecten hebben een voorbeeld van het gebruik van deze macro.
DECLARE_NO_REGISTRY
Gebruik DECLARE_NO_REGISTRY als u standaard ATL-registratie wilt voorkomen voor de klasse waarin deze macro wordt weergegeven.
DECLARE_NO_REGISTRY()
DECLARE_REGISTRY
Hiermee voert u de standaardklasseregistratie in het systeemregister in of verwijdert u deze uit het systeemregister.
DECLARE_REGISTRY(
class,
pid,
vpid,
nid,
flags )
Parameterwaarden
klasse
[in] Opgenomen voor compatibiliteit met eerdere versies.
Pid
[in] Een LPCTSTR die een versiespecifieke programma-id is.
vpid
[in] Een LPCTSTR die een versie-onafhankelijke programma-id is.
Nid
[in] Een UINT die een index is van de resourcereeks in het register die moet worden gebruikt als de beschrijving van het programma.
flags
[in] Een DWORD met het threadingmodel van het programma in het register. Moet een van de volgende waarden zijn: THREADFLAGS_APARTMENT, THREADFLAGS_BOTH of AUTPRXFLAG.
Opmerkingen
De standaardregistratie bestaat uit het CLSID-, programma-id, versie-onafhankelijke programma-id, beschrijvingstekenreeks en threadmodel.
Wanneer u een object of besturingselement maakt met de wizard ATL Klasse toevoegen, implementeert de wizard automatisch registerondersteuning op basis van scripts en voegt de DECLARE_REGISTRY_RESOURCEID macro toe aan uw bestanden. Als u geen ondersteuning voor het register op basis van scripts wilt, moet u deze macro vervangen door DECLARE_REGISTRY. DECLARE_REGISTRY voegt alleen de vijf hierboven beschreven basissleutels in het register in. U moet handmatig code schrijven om andere sleutels in het register in te voegen.
DECLARE_REGISTRY_APPID_RESOURCEID
Hiermee geeft u de informatie op die nodig is om de appid automatisch te registreren.
DECLARE_REGISTRY_APPID_RESOURCEID(
resid,
appid )
Parameterwaarden
verblijf
De resource-id van het rgs-bestand met informatie over de appid.
appid
Een GUID.
Opmerkingen
Gebruik DECLARE_REGISTRY_APPID_RESOURCEID in een CAtlModuleT-afgeleide klasse.
Example
Klassen die zijn toegevoegd aan ATL-projecten met de wizard Klassecode toevoegen, hebben een voorbeeld van het gebruik van deze macro.
DECLARE_REGISTRY_RESOURCE
Hiermee haalt u de benoemde resource op die het registerbestand bevat en voert u het script uit om objecten in het systeemregister in te voeren of uit het systeemregister te verwijderen.
DECLARE_REGISTRY_RESOURCE( x )
Parameterwaarden
x
[in] Tekenreeks-id van uw resource.
Opmerkingen
Wanneer u een object of besturingselement maakt met behulp van de wizard ATL Project, implementeert de wizard automatisch registerondersteuning op basis van scripts en voegt u de DECLARE_REGISTRY_RESOURCEID macro, die vergelijkbaar is met DECLARE_REGISTRY_RESOURCE, toe aan uw bestanden.
U kunt statisch verbinding maken met het ATL-registeronderdeel (registrar) voor geoptimaliseerde registertoegang. Als u statisch verbinding wilt maken met de registrarcode, voegt u de volgende regel toe aan uw pch.h-bestand (stdafx.h in Visual Studio 2017 en eerder):
#define _ATL_STATIC_REGISTRY
Als u wilt dat ATL vervangingswaarden tijdens runtime vervangt, geeft u de DECLARE_REGISTRY_RESOURCE of DECLARE_REGISTRY_RESOURCEID macro niet op. Maak in plaats daarvan een matrix met _ATL_REGMAP_ENTRIES structuren, waarbij elke vermelding een tijdelijke aanduiding voor variabelen bevat die is gekoppeld aan een waarde om de tijdelijke aanduiding tijdens runtime te vervangen. Roep vervolgens CAtlModule::UpdateRegistryFromResourceD of CAtlModule::UpdateRegistryFromResourceS aan, waarbij de matrix wordt doorgegeven. Hiermee worden alle vervangende waarden in de _ATL_REGMAP_ENTRIES structuren toegevoegd aan de vervangingskaart van de registrar.
Zie het artikel The ATL Registry Component (Registrar) voor meer informatie over vervangbare parameters en scripting.
DECLARE_REGISTRY_RESOURCEID
Hetzelfde als DECLARE_REGISTRY_RESOURCE , behalve dat er een door de wizard gegenereerde UINT wordt gebruikt om de resource te identificeren, in plaats van een tekenreeksnaam.
DECLARE_REGISTRY_RESOURCEID( x )
Parameterwaarden
x
[in] Door de wizard gegenereerde id van uw resource.
Opmerkingen
Wanneer u een object of besturingselement maakt met de wizard ATL Project, implementeert de wizard automatisch registerondersteuning op basis van scripts en voegt u de DECLARE_REGISTRY_RESOURCEID macro toe aan uw bestanden.
U kunt statisch verbinding maken met het ATL-registeronderdeel (registrar) voor geoptimaliseerde registertoegang. Als u statisch verbinding wilt maken met de registrarcode, voegt u de volgende regel toe aan uw stdafx.h-bestand (pch.h in Visual Studio 2019 en hoger):
#define _ATL_STATIC_REGISTRY
Als u wilt dat ATL vervangingswaarden tijdens runtime vervangt, geeft u de DECLARE_REGISTRY_RESOURCE of DECLARE_REGISTRY_RESOURCEID macro niet op. Maak in plaats daarvan een matrix met _ATL_REGMAP_ENTRIES structuren, waarbij elke vermelding een tijdelijke aanduiding voor variabelen bevat die is gekoppeld aan een waarde om de tijdelijke aanduiding tijdens runtime te vervangen. Roep vervolgens CAtlModule::UpdateRegistryFromResourceD of CAtlModule::UpdateRegistryFromResourceS aan, waarbij de matrix wordt doorgegeven. Hiermee worden alle vervangende waarden in de _ATL_REGMAP_ENTRIES structuren toegevoegd aan de vervangingskaart van de registrar.
Zie het artikel The ATL Registry Component (Registrar) voor meer informatie over vervangbare parameters en scripting.