Sdílet prostřednictvím


OLE – pozadí: Implementace MFC

Vzhledem k velikosti a složitosti nezpracovaného rozhraní OLE API může být jeho volání přímo pro zápis aplikací OLE velmi časově náročné. Cílem implementace knihovny tříd Microsoft Foundation Je snížit množství práce, kterou musíte udělat pro psaní plnohodnotných aplikací podporujících OLE.

Tento článek vysvětluje části rozhraní OLE API, které nebyly implementovány v prostředí MFC. Tato diskuze také vysvětluje, jak se implementuje mapování na část OLE sady Windows SDK.

Části OLE, které knihovna tříd neimplementuje

Mfc neposkytuje přímo několik rozhraní a funkcí OLE. Pokud chcete tyto funkce použít, můžete rozhraní OLE API volat přímo.

IMoniker Interface Rozhraní Rozhraní IMoniker je implementováno knihovnou tříd (například COleServerItem třída), ale předtím nebyla vystavena programátorům. Další informace o tomto rozhraní naleznete v tématu OLE Moniker Implementace v části OLE sady Windows SDK. Viz však také třídy CMonikerFile a CAsyncMonikerFile.

IUnknown a IMarshal Interfaces Rozhraní IUnknown je implementováno knihovnou tříd, ale není vystaven programátor. Rozhraní IMarshal není implementováno knihovnou tříd, ale používá se interně. Automatizační servery vytvořené pomocí knihovny tříd už mají integrované funkce zařazování.

Složené soubory Docfiles (Složené soubory) jsou částečně podporovány knihovnou tříd. Nepodporuje se žádná z funkcí, které přímo manipulují se složené soubory nad rámec vytváření. MFC používá třídu COleFileStream k podpoře manipulace s datovými proudy se standardními funkcemi souborů. Další informace najdete v článku Kontejnery: Složené soubory.

Procesové servery a obslužné rutiny objektů v procesu a obslužné rutiny objektů umožňují implementaci vizuálních úprav dat nebo úplných objektů modelu COM (Component Object Model) v dynamické knihovně (DLL). Chcete-li to provést, můžete implementovat knihovnu DLL voláním rozhraní OLE API přímo. Pokud ale píšete server Automation a váš server nemá žádné uživatelské rozhraní, můžete pomocí AppWizard nastavit server v procesu a vložit ho zcela do knihovny DLL. Další informace o těchto tématech najdete v tématu Automatizační servery.

Tip

Nejjednodušší způsob, jak implementovat automatizační server, je umístit ho do knihovny DLL. MFC podporuje tento přístup.

Další informace o tom, jak microsoft Foundation OLE třídy implementují rozhraní OLE, naleznete v tématu MFC Technické poznámky 38, 39 a 40.

Viz také

OLE – pozadí
OLE – pozadí: Strategie implementace