Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anmärkning
Biblioteket För Microsoft Foundation-klasser (MFC) stöds fortfarande. Vi lägger dock inte längre till funktioner eller uppdaterar dokumentationen.
På grund av storleken och komplexiteten i det råa OLE-API:et kan det vara mycket tidskrävande att anropa det direkt för att skriva OLE-program. Målet med microsoft foundation-klassbibliotekets implementering av OLE är att minska mängden arbete du behöver göra för att skriva fullständiga, OLE-kompatibla program.
I den här artikeln beskrivs de delar av OLE-API:et som inte har implementerats i MFC. I diskussionen förklaras också hur det som implementeras översätts till OLE-sektionen i Windows SDK.
Delar av OLE som inte har implementerats av klassbiblioteket
Några gränssnitt och funktioner i OLE tillhandahålls inte direkt av MFC. Om du vill använda dessa funktioner kan du anropa OLE-API:et direkt.
IMoniker-gränssnitt Gränssnittet IMoniker implementeras av klassbiblioteket (till exempel COleServerItem klassen) men har inte tidigare exponerats för programmeraren. Mer information om det här gränssnittet finns i OLE Moniker-implementeringar i OLE-avsnittet i Windows SDK. Men se även klass CMonikerFile och CAsyncMonikerFile.
IUnknown och IMarshal Interfaces Gränssnittet IUnknown implementeras av klassbiblioteket men exponeras inte för programmeraren. Gränssnittet IMarshal implementeras inte av klassbiblioteket utan används internt. Automation-servrar som skapats med hjälp av klassbiblioteket har redan inbyggda marshaleringsegenskaper.
Docfiles (Sammansatta filer) Sammansatta filer stöds delvis av klassbiblioteket. Ingen av de funktioner som direkt manipulerar sammansatta filer utöver skapandet stöds. MFC använder klassen COleFileStream för att stödja manipulering av strömmar med standardfilfunktioner. Mer information finns i artikeln Containers: Compound Files.
In-Process Servrar och objekthanterare In-process-servrar och objekthanterare tillåter implementering av visuell redigering av data eller fullständiga COM-objekt (Komponentobjektmodell) i ett DLL-bibliotek (Dynamic Link Library). För att göra detta kan du implementera din DLL genom att anropa OLE-API:et direkt. Men om du skriver en Automation-server och servern inte har något användargränssnitt kan du använda AppWizard för att göra servern till en pågående server och placera den helt i en DLL. Mer information om dessa ämnen finns i Automation-servrar.
Tips/Råd
Det enklaste sättet att implementera en Automation-server är att placera den i en DLL. MFC stöder den här metoden.
Mer information om hur Microsoft Foundation OLE-klasserna implementerar OLE-gränssnitt finns i MFC Technical Notes 38, 39 och 40.