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 categorietoewijzingen.
| Macroniveau | Description |
|---|---|
| BEGIN_CATEGORY_MAP | Hiermee wordt het begin van de categoriekaart gemarkeerd. |
| END_CATEGORY_MAP | Hiermee wordt het einde van de categoriekaart gemarkeerd. |
| IMPLEMENTED_CATEGORY | Geeft categorieën aan die zijn geïmplementeerd door het COM-object. |
| REQUIRED_CATEGORY | Geeft categorieën aan die vereist zijn voor de container door het COM-object. |
Requirements
Koptekst: atlcom.h
BEGIN_CATEGORY_MAP
Hiermee wordt het begin van de categoriekaart gemarkeerd.
BEGIN_CATEGORY_MAP(theClass)
Parameterwaarden
theClass
[in] De naam van de klasse die de categoriekaart bevat.
Opmerkingen
De categorietoewijzing wordt gebruikt om op te geven welke onderdeelcategorieën de COM-klasse implementeert en welke categorieën deze van de container nodig heeft.
Voeg een IMPLEMENTED_CATEGORY vermelding toe aan de kaart voor elke categorie die door de COM-klasse is geïmplementeerd. Voeg een REQUIRED_CATEGORY vermelding toe aan de kaart voor elke categorie waarvoor de klasse clients moeten implementeren. Het einde van de kaart markeren met de END_CATEGORY_MAP macro.
De onderdeelcategorieën die in de kaart worden vermeld, worden automatisch geregistreerd wanneer de module wordt geregistreerd als de klasse een gekoppelde OBJECT_ENTRY_AUTO of OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO heeft.
Opmerking
ATL gebruikt de standaard manager voor onderdeelcategorieën om onderdeelcategorieën te registreren. Als de manager niet aanwezig is op het systeem wanneer de module is geregistreerd, slaagt de registratie, maar worden de onderdeelcategorieën niet geregistreerd voor die klasse.
Zie Wat zijn onderdeelcategorieën en hoe werken ze in de Windows SDK voor meer informatie over onderdeelcategorieën.
Example
BEGIN_CATEGORY_MAP(CMyCtrl)
IMPLEMENTED_CATEGORY(CATID_Insertable)
END_CATEGORY_MAP()
END_CATEGORY_MAP
Hiermee wordt het einde van de categoriekaart gemarkeerd.
END_CATEGORY_MAP()
Example
Zie het voorbeeld voor BEGIN_CATEGORY_MAP.
IMPLEMENTED_CATEGORY
Voeg een IMPLEMENTED_CATEGORY macro toe aan de categoriekaart van uw onderdeel om op te geven dat deze moet worden geregistreerd als implementatie van de categorie die is geïdentificeerd door de parameter catID .
IMPLEMENTED_CATEGORY(catID)
Parameterwaarden
catID
[in] Een CATID-constante of variabele met de GUID (Globally Unique Identifier) voor de geïmplementeerde categorie. Het adres van catID wordt genomen en toegevoegd aan de kaart. Zie de onderstaande tabel voor een selectie aandelencategorieën.
Opmerkingen
De onderdeelcategorieën die in de kaart worden vermeld, worden automatisch geregistreerd wanneer de module wordt geregistreerd als de klasse een gekoppelde OBJECT_ENTRY_AUTO of OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO macro heeft.
Clients kunnen de categoriegegevens die voor de klasse zijn geregistreerd, gebruiken om de mogelijkheden en vereisten te bepalen zonder dat er een exemplaar van hoeft te worden gemaakt.
Zie Wat zijn onderdeelcategorieën en hoe werken ze in de Windows SDK voor meer informatie over onderdeelcategorieën.
Een selectie van aandelencategorieën
| Description | Symbol | Register-GUID |
|---|---|---|
| Veilig voor scripting | CATID_SafeForScripting | {7DDD95801-9882-11CF-9FA9-00AA006C42C4} |
| Veilig voor initialisatie | CATID_SafeForInitializing | {7DDD95802-9882-11CF-9FA9-00AA006C42C4} |
| Eenvoudige framesite-insluiting | CATID_SimpleFrameControl | {157083E0-2368-11cf-87B9-00AA006C8166} |
| Eenvoudige gegevensbinding | CATID_PropertyNotifyControl | {157083E1-2368-11cf-87B9-00AA006C8166} |
| Geavanceerde gegevensbinding | CATID_VBDataBound | {157083E2-2368-11cf-87B9-00AA006C8166} |
| Besturingselementen zonder venster | CATID_WindowlessObject | {1D06B600-3AE3-11cf-87B9-00AA006C8166} |
| Internet-Aware-objecten | Zie Internet Aware Objects in de Windows SDK voor een voorbeeldlijst. |
Example
BEGIN_CATEGORY_MAP(CMyCtrl)
IMPLEMENTED_CATEGORY(CATID_Insertable)
END_CATEGORY_MAP()
REQUIRED_CATEGORY
Voeg een REQUIRED_CATEGORY macro toe aan de categorietoewijzing van uw onderdeel om op te geven dat deze moet worden geregistreerd als vereist dat de categorie is geïdentificeerd door de parameter catID .
REQUIRED_CATEGORY( catID )
Parameterwaarden
catID
[in] Een CATID-constante of variabele met de GUID (Globally Unique Identifier) voor de vereiste categorie. Het adres van catID wordt genomen en toegevoegd aan de kaart. Zie de onderstaande tabel voor een selectie aandelencategorieën.
Opmerkingen
De onderdeelcategorieën die in de kaart worden vermeld, worden automatisch geregistreerd wanneer de module wordt geregistreerd als de klasse een gekoppelde OBJECT_ENTRY_AUTO of OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO macro heeft.
Clients kunnen de categoriegegevens die voor de klasse zijn geregistreerd, gebruiken om de mogelijkheden en vereisten te bepalen zonder dat er een exemplaar van hoeft te worden gemaakt. Een besturingselement kan bijvoorbeeld vereisen dat een container gegevensbinding ondersteunt. De container kan erachter komen of deze over de mogelijkheden beschikt die nodig zijn om het besturingselement te hosten door een query uit te voeren op categoriebeheer voor de categorieën die voor dat besturingselement zijn vereist. Als de container geen vereiste functie ondersteunt, kan deze weigeren het COM-object te hosten.
Zie Wat zijn onderdeelcategorieën en hoe werken ze in de Windows SDK voor meer informatie over onderdeelcategorieën, waaronder een voorbeeldlijst.
Een selectie van aandelencategorieën
| Description | Symbol | Register-GUID |
|---|---|---|
| Veilig voor scripting | CATID_SafeForScripting | {7DDD95801-9882-11CF-9FA9-00AA006C42C4} |
| Veilig voor initialisatie | CATID_SafeForInitializing | {7DDD95802-9882-11CF-9FA9-00AA006C42C4} |
| Eenvoudige framesite-insluiting | CATID_SimpleFrameControl | {157083E0-2368-11cf-87B9-00AA006C8166} |
| Eenvoudige gegevensbinding | CATID_PropertyNotifyControl | {157083E1-2368-11cf-87B9-00AA006C8166} |
| Geavanceerde gegevensbinding | CATID_VBDataBound | {157083E2-2368-11cf-87B9-00AA006C8166} |
| Besturingselementen zonder venster | CATID_WindowlessObject | {1D06B600-3AE3-11cf-87B9-00AA006C8166} |
| Internet-Aware-objecten | Zie Internet Aware Objects in de Windows SDK voor een voorbeeldlijst. |
Example
BEGIN_CATEGORY_MAP(CMyWindow)
REQUIRED_CATEGORY(CATID_InternetAware)
END_CATEGORY_MAP()