CoInitialize
The
CoInitialize function initializes the Component Object Model(COM) library.
You must initialize the library before you can call its functions. Applications
must call CoInitialize before they make any other COM library calls
except the CoGetMalloc
HRESULT CoInitialize(
LPVOID pvReserved |
//Reserved, must be NULL |
); |
|
Parameter
pvReserved
[in] In
32-bit OLE, this parameter must be NULL. The 32-bit version of OLE does not
support applications replacing OLE s allocator and if the parameter is not
NULL, CoInitialize returns E_INVALIDARG.
Return Values
This function
supports the standard return values E_INVALIDARG, E_OUTOFMEMORY, and
E_UNEXPECTED, as well as the following:
S_OK
The library
was initialized successfully.
S_FALSE
The library
is already initialized or that it could not release the default allocator.
Remarks
You need to
call this before you call any of the OLE library functions (except CoGetMalloc,
to get a pointer to the standard allocator, and the memory allocation functions
and methods) unless you call the OleInitialize function, which calls CoInitialize
internally.
Typically, CoInitialize
is called only once in the process that uses the OLE library. There can be
multiple calls, but subsequent calls return S_FALSE. To close the library
gracefully, each successful call to CoInitialize, including those that
return S_FALSE, must be balanced by a corresponding call to its
companion helper function, CoUninitialize.
See Also
CoUninitialize, OleInitialize