共用方式為


CComUnkArray 類別

此類別會IUnknown儲存指標,並設計為做為 IConnectionPointImpl 範本類別的參數

語法

template<unsigned int nMaxSize>
class CComUnkArray

參數

nMaxSize
可以保留在靜態陣列中的指標數目 IUnknown 上限。

成員

公用建構函式

名稱 描述
CComUnkArray::CComUnkArray 建構函式。

公用方法

名稱 描述
CComUnkArray::Add 呼叫這個方法以將指標新增 IUnknown 至陣列。
CComUnkArray::begin 傳回集合中第一個 IUnknown 指標的指標。
CComUnkArray::end 傳回集合中最後 IUnknown 一個指標之後的指標。
CComUnkArray::GetCookie 呼叫這個方法以取得與指定 IUnknown 指標相關聯的Cookie。
CComUnkArray::GetUnknown 呼叫這個方法以取得 IUnknown 與指定 Cookie 相關聯的指標。
CComUnkArray::Remove 呼叫這個方法以從陣列中移除 IUnknown 指標。

備註

CComUnkArray 會保存固定數目的 IUnknown 指標,每個指標都是連接點上的介面。 CComUnkArray可作為 IConnectionPointImpl 樣本類別的參數CComUnkArray<1> 是已針對一個連接點優化的範本特製化 CComUnkArray

方法CComUnkArray的開始結束可用來迴圈所有連接點(例如,引發事件時)。

如需自動建立連接點 Proxy 的詳細資訊,請參閱 將連接點新增至物件

注意

注意 建立具有連接點的控件時,[新增類別精靈] 會使用 CComDynamicUnkArray 類別。 如果您想要手動指定連接點數目,請將參考從 CComDynamicUnkArray 變更為 CComUnkArray< n ,其中 n > 是所需的連接點數目。

需求

標頭: atlcom.h

CComUnkArray::Add

呼叫這個方法以將指標新增 IUnknown 至陣列。

DWORD Add(IUnknown* pUnk);

參數

朋克
呼叫這個方法以將指標新增 IUnknown 至陣列。

傳回值

如果陣列不夠大而無法包含新的指標,則傳回與新加入指標相關聯的Cookie,或0。

CComUnkArray::begin

傳回介面指標集合開頭的 IUnknown 指標。

IUnknown**
    begin();

傳回值

介面指標的 IUnknown 指標。

備註

集合包含儲存在本機做為 IUnknown之介面的指標。 您會將每個 IUnknown 介面轉換成實際介面類型,然後透過它呼叫。 您不需要先查詢介面。

使用 IUnknown 介面之前,您應該先檢查它是否為 NULL。

CComUnkArray::CComUnkArray

建構函式。

CComUnkArray();

備註

設定集合來保存nMaxSizeIUnknown指標,並將指標初始化為 NULL。

CComUnkArray::end

傳回集合中最後 IUnknown 一個指標之後的指標。

IUnknown**
    end();

傳回值

介面指標的 IUnknown 指標。

備註

CComUnkArraybegin end 方法可用來循環處理所有連接點,例如引發事件時。

IUnknown** p = m_vec.begin();
while(p != m_vec.end())
{
   // Do something with *p
   p++;
}

CComUnkArray::GetCookie

呼叫這個方法以取得與指定 IUnknown 指標相關聯的Cookie。

DWORD WINAPI GetCookie(IUnknown** ppFind);

參數

ppFind
IUnknown需要相關聯 Cookie 的指標。

傳回值

傳回與 IUnknown 指標相關聯的 Cookie,如果找不到相符 IUnknown 的指標,則傳回 0。

備註

如果相同 IUnknown 指標有多個實例,此函式會傳回第一個的Cookie。

CComUnkArray::GetUnknown

呼叫這個方法以取得 IUnknown 與指定 Cookie 相關聯的指標。

IUnknown* WINAPI GetUnknown(DWORD dwCookie);

參數

dwCookie
需要相關聯 IUnknown 指標的Cookie。

傳回值

IUnknown傳回指標,如果沒有找到相符的Cookie,則傳回NULL。

CComUnkArray::Remove

呼叫這個方法以從陣列中移除 IUnknown 指標。

BOOL Remove(DWORD dwCookie);

參數

dwCookie
參考 IUnknown 要從陣列中移除之指標的Cookie。

傳回值

如果移除指標,則傳回 TRUE,否則傳回 FALSE。

另請參閱

CComDynamicUnkArray 類別
類別概觀