Dela via


ATL-modulklasser

I det här avsnittet beskrivs de modulklasser som var nya i ATL 7.0.

CComModule-ersättningsklasser

Tidigare versioner av ATL använde CComModule. I ATL 7.0 CComModule ersätts funktionaliteten av flera klasser:

  • CAtlBaseModule Innehåller information som krävs av de flesta program som använder ATL. Innehåller HINSTANCE för modulen och resursinstansen.

  • CAtlComModule Innehåller information som krävs av COM-klasserna i ATL.

  • CAtlWinModule Innehåller information som krävs av fönsterklasserna i ATL.

  • CAtlDebugInterfacesModule Innehåller stöd för felsökning av gränssnitt.

  • CAtlModule Följande CAtlModule-härledda klasser är anpassade för att innehålla information som krävs i en viss programtyp. De flesta medlemmar i dessa klasser kan åsidosättas:

    • CAtlDllModuleT Används i DLL-program. Innehåller kod för standardexporten.

    • CAtlExeModuleT Används i EXE-program. Tillhandahåller kod som krävs i en EXE.

    • CAtlServiceModuleT Ger stöd för att skapa Windows NT- och Windows 2000-tjänster.

CComModule är fortfarande tillgängligt för bakåtkompatibilitet.

Orsaker till att distribuera CComModule-funktioner

Funktionen hos CComModule delades upp i flera nya klasser av följande skäl:

  • Gör funktionen i CComModule uppdelad.

    Stöd för COM- och fönsterfunktioner, gränssnittsfelsökning och programspecifika funktioner (DLL eller EXE) finns nu i separata klasser.

  • Deklarera automatiskt global instans av var och en av dessa moduler.

    En global instans av de obligatoriska modulklasserna länkas till projektet.

  • Ta bort nödvändigheten av att anropa Init- och Term-metoder.

    Init- och Term-metoder har flyttats till konstruktorerna och destruktorerna för modulklasserna; Det finns inte längre något behov av att anropa Init och Term.

Se även

Begrepp
översikt över -klass