複製鏈接
請複製以下鏈接發送給好友

CoInitializeEx

鎖定
CoInitializeEx是 Windows提供的API函數,為當前線程初始化COM庫並設置併發模式 。應用程序調用com庫中的函數(除CoGetMalloc內存分配函數)之前必須初始化com庫。
中文名
CoInitializeEx
原    型
HRESULT CoInitializeEx
CoInitializeEx
函數説明:
HRESULT CoInitializeEx(
void * pvReserved,
DWORD dwCoInit
);
參數介紹:
pvReserved
系統 保留的參數,必須傳入 NULL.
dwCoInit
該標示指明基於當前線程的併發模式和初始化選項。該參數是 COINIT 枚舉類型,傳入參數時候,除了
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。