OLE Initialization
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at OLE Initialization.
Before an application can use OLE system services, it must initialize the OLE system DLLs and verify that the DLLs are the correct version. The AfxOleInit function initializes the OLE system DLLs.
OLE Initialization
AfxOleInit | Initializes the OLE libraries. |
AfxOleInit
Initializes OLE support for the application.
BOOL AFXAPI AfxOleInit();
Return Value
Nonzero if successful; 0 if initialization fails, possibly because incorrect versions of the OLE system DLLs are installed.
Remarks
Call this function to initialize the OLE support for an MFC application. When this function is called, the following actions occur:
Initializes the COM library on the current apartment of the calling application. For more information, see OleInitialize.
Creates a message filter object, implementing the IMessageFilter interface. This message filter can be accessed with a call to AfxOleGetMessageFilter.
Note
If AfxOleInit is called from an MFC DLL, the call will fail. The failure occurs because the function assumes that, if it is called from a DLL, the OLE system was previously initialized by the calling application.
Note
MFC applications must be initialized as single threaded apartment (STA). If you call CoInitializeEx in your InitInstance
override, specify COINIT_APARTMENTTHREADED
(rather than COINIT_MULTITHREADED
). For more information, see PRB: MFC Application Stops Responding When You Initialize the Application as a Multithreaded Apartment (828643) at https://support.microsoft.com/default.aspxscid=kb;en-us;828643.