CoInitialize

CoInitialize

CoInitialize是Windows提供的API函數,用來告訴 Windows以單線程的方式創建com對象。應用程序調用com庫函數(除CoGetMalloc和內存分配函數)之前必須初始化com庫。

語法


HRESULT CoInitialize(
_In_opt_ LPVOID pvReserved
);
參數被保留,且必須為NULL。

返回值


S_OK : 該線程中COM庫初始化成功
S_FALSE: 該線程中COM庫已經被初始化 CoInitialize () 標明以單線程方式創建。
使用 CoInitialize 創建可以使對象直接與線程連接,得到最高的性能。
CoInitialize並不裝載COM 庫,它只用來初始化當前線程使用什麼樣的套件。使用這個函數后,線程就和一個套件建立了對應關係。線程的套件模式決定了該線程如何調用COM對象,是否需要列集等。
CoInitialize ()並不會幹擾客戶和伺服器之間的通信,它所做的事情是讓線程註冊一個套件,而線程運行過程中必然在此套件。
CoInitialize和CoUninitialize必須成對使用。
創建新的應用程序就調用CoInitializeEx代替CoInitialize。