Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ze względu na rozmiar i złożoność nieprzetworzonego interfejsu API OLE wywoływanie go bezpośrednio w celu pisania aplikacji OLE może być bardzo czasochłonne. Celem implementacji biblioteki klas Microsoft Foundation w OLE jest zmniejszenie ilości pracy, którą należy wykonać, aby napisać w pełni funkcjonalne aplikacje obsługujące OLE.
W tym artykule wyjaśniono części interfejsu API OLE, które nie zostały zaimplementowane w MFC. W dyskusji wyjaśniono również, jak to, co zostało zaimplementowane, odnosi się do sekcji OLE zestawu Windows SDK.
Części OLE, które nie zostały zaimplementowane przez bibliotekę klas
Kilka interfejsów i funkcji OLE nie są bezpośrednio udostępniane przez MFC. Jeśli chcesz używać tych funkcji, możesz wywołać interfejs API OLE bezpośrednio.
IMoniker Interface Interfejs IMoniker jest implementowany przez bibliotekę klas (na przykład COleServerItem klasę), ale nie został wcześniej uwidoczniony dla programisty. Aby uzyskać więcej informacji na temat tego interfejsu, zobacz Implementacje OLE Moniker w sekcji OLE zestawu Windows SDK. Zobacz jednak również klasy CMonikerFile i CAsyncMonikerFile.
IUnknown i IMarshal Interfejsy IUnknown są implementowane przez bibliotekę klas, ale nie są widoczne dla programisty. Interfejs IMarshal nie jest implementowany przez bibliotekę klas, ale jest używany wewnętrznie. Serwery automatyzacji utworzone przy użyciu biblioteki klas mają już wbudowane funkcje marshalingu.
Pliki złożone Docfiles (Pliki złożone) są częściowo obsługiwane przez bibliotekę klas. Żadna z funkcji, które bezpośrednio manipulują plikami złożonymi poza tworzeniem, nie są obsługiwane. MFC używa klasy COleFileStream do obsługi manipulowania strumieniami przy użyciu standardowych funkcji plików. Aby uzyskać więcej informacji, zobacz artykuł Kontenery: pliki złożone.
In-Process Serwery i obsługiwacze obiektów w procesie umożliwiają implementację edycji wizualnej danych lub pełnych obiektów modelu COM w bibliotece DLL. W tym celu możesz zaimplementować bibliotekę DLL przez bezpośrednie wywołanie interfejsu API OLE. Jeśli jednak piszesz serwer automatyzacji i serwer nie ma interfejsu użytkownika, możesz użyć AppWizard, aby serwer był serwerem wewnątrzprocesowym i umieścić go całkowicie w pliku DLL. Aby uzyskać więcej informacji na temat tych tematów, zobacz Serwery automatyzacji.
Wskazówka
Najprostszym sposobem zaimplementowania serwera usługi Automation jest umieszczenie go w dll. MFC obsługuje to podejście.
Aby uzyskać więcej informacji na temat sposobu implementowania interfejsów OLE przez klasy OLE programu Microsoft Foundation, zobacz MFC Technical Notes 38, 39 i 40.