enum COINIT {
/// <summary>
/// Initializes the thread for multi-threaded object concurrency.
/// </summary>
COINIT_MULTITHREADED = 0x0,
/// <summary>
/// Initializes the thread for apartment-threaded object concurrency.
/// </summary>
COINIT_APARTMENTTHREADED = 0x2,
/// <summary>
/// Disables DDE for Ole1 support.
/// </summary>
COINIT_DISABLE_OLE1DDE = 0x4,
/// <summary>
/// Trades memory for speed.
/// </summary>
COINIT_SPEED_OVER_MEMORY = 0x8
}
VB Definition:
Enum COINIT
''' <summary>
''' Initializes the thread for multi-threaded object concurrency.
''' </summary>
COINIT_MULTITHREADED = 0
''' <summary>
''' Initializes the thread for apartment-threaded object concurrency.
''' </summary>
COINIT_APARTMENTTHREADED = 2
''' <summary>
''' Disables DDE for Ole1 support.
''' </summary>
COINIT_DISABLE_OLE1DDE = 4
''' <summary>
''' Trades memory for speed.
''' </summary>
COINIT_SPEED_OVER_MEMORY = 8
End Enum
Notes:
None.
CoInitializeEx initializes the COM library for use by the calling thread, sets the thread's concurrency model, and creates a new apartment for the thread if one is required. Values for the dwCoInit parameter are taken from the COINIT enumeration. However, since pinvoke is a dotNET construct you should be aware that dotNET already does a COM initialization and therefore calling a CoInitializeEx function most likely will not do what you expect. This problem occurs when trying to instantiate a COM object from within dotNET where the COM objects threading model is different from dotNETs. Search on Common Language Runtime or CLR and COINIT_APARTMENTTHREADED to find posts on this issue.
7/25/2015 5:25:25 PM - -5.202.143.191
CoInitializeEx initializes the COM library for use by the calling thread, sets the thread's concurrency model, and creates a new apartment for the thread if one is required. Values for the dwCoInit parameter are taken from the COINIT enumeration. However, since pinvoke is a dotNET construct you should be aware that dotNET already does a COM initialization and therefore calling a CoInitializeEx function most likely will not do what you expect. This problem occurs when trying to instantiate a COM object from within dotNET where the COM objects threading model is different from dotNETs. Search on Common Language Runtime or CLR and COINIT_APARTMENTTHREADED to find posts on this issue.