Dela via


Modul 2. Använda COM i ditt Windows-Based-program

modul 1 i den här serien visade hur du skapar ett fönster och svarar på fönstermeddelanden som WM_PAINT och WM_CLOSE. Modul 2 introducerar komponentobjektmodellen (COM).

COM är en specifikation för att skapa återanvändbara programvarukomponenter. Många av de funktioner som du kommer att använda i ett modernt Windows-baserat program förlitar sig på COM, till exempel följande:

  • Grafik (Direct2D)
  • Text (DirectWrite)
  • Windows-gränssnittet
  • Bandkontrollen
  • Animering av användargränssnitt

(Vissa tekniker i den här listan använder en delmängd av COM och är därför inte "rena" COM.)

COM har ett rykte om sig att vara svårt att lära sig. Och det är sant att det kan vara svårt att skriva en ny programvarumodul för att stödja COM. Men om ditt program är strikt en konsument av COM, kan du upptäcka att COM är lättare att förstå än du förväntar dig.

Den här modulen visar hur du anropar COM-baserade API:er i ditt program. Den beskriver också några av resonemangen bakom utformningen av COM. Om du förstår varför COM är utformat som det är kan du programmera med det mer effektivt. Den andra delen av modulen beskriver några rekommenderade programmeringsmetoder för COM.

COM introducerades 1993 för att stödja objektlänkning och inbäddning (OLE) 2.0. Folk tror ibland att COM och OLE är samma sak. Detta kan vara en annan orsak till uppfattningen att COM är svårt att lära sig. OLE 2.0 bygger på COM, men du behöver inte känna till OLE för att förstå COM.

COM är en binär standard, inte en språkstandard: Det definierar det binära gränssnittet mellan ett program och en programvarukomponent. Som binär standard är COM språkneutralt, även om det mappar naturligt till vissa C++-konstruktioner. Den här modulen fokuserar på tre huvudmål för COM:

  • Separera implementeringen av ett objekt från dess gränssnitt.
  • Hantera livslängden för ett objekt.
  • Identifiera kapaciteterna hos ett objekt under körning.

I det här avsnittet

Learn to Program for Windows på C++