CoInitializeEx是 Windows提供的API函式,為當前執行緒初始化COM庫並設定併發模式 。應用程式調用com庫中的函式(除CoGetMalloc和記憶體分配函式)之前必須初始化com庫。
基本介紹
- 中文名:CoInitializeEx
- 屬於:Windows提供的API函式
- 類別:執行緒初始化COM庫設定併發模式
- 原型:HRESULT CoInitializeEx
CoInitializeEx
函式說明:
HRESULT CoInitializeEx(
void * pvReserved,
DWORD dwCoInit
);
參數介紹:
pvReserved
系統 保留的參數,必須傳入 NULL.
dwCoInit
COINIT_APARTMENTTHREADED 和COINIT_MULTITHREADED標記外,其餘的標記可以組合使用。
返回值:
S_OK :COM庫初始化成功。
S_FALSE :當前執行緒上,COM庫已經被初始化。
RPC_E_CHANGED_MODE :COM庫已經被初始化且傳入參數設定的併發模式和本次不同。
注意事項:
在應用程式中使用COM庫,至少要調用一次CoInitializeEx函式(通常也就調用一次)。如果傳入參數的並發標誌相同
,單個執行緒也可以多次調用該函式,但後來有效的調用將返回 S_FALSE。在正常關閉COM庫情況下,每一個CoInitialize 或者CoInitializeEx的成功的調用(也包含返回S_FALSE的調用),都必須用通Uninitialize函式來結束。
使用函式 CoInitializeEx的代碼的前面需要包含於處理標誌 #define _WIN32_DCOM
基於執行緒的併發模式一旦設定,將不能再改變。一個執行緒上調用CoInitializeEx如果與原來調用設定的併發模式不一
致,將會失敗並返回RPC_E_CHANGED_MODE。