共用方式為


CComDynamicUnkArray 類別

這個類別會儲存指標陣列 IUnknown

語法

class CComDynamicUnkArray

成員

公用建構函式

名稱 描述
CComDynamicUnkArray::CComDynamicUnkArray 建構函式。 將集合值初始化為 NULL,並將集合大小初始化為零。
CComDynamicUnkArray::~CComDynamicUnkArray 解構函式。

公用方法

名稱 描述
CComDynamicUnkArray::Add 呼叫這個方法以將指標新增 IUnknown 至陣列。
CComDynamicUnkArray::begin 傳回集合中第一個 IUnknown 指標的指標。
CComDynamicUnkArray::clear 清空陣列。
CComDynamicUnkArray::end 傳回集合中最後 IUnknown 一個指標之後的指標。
CComDynamicUnkArray::GetAt 擷取位於指定索引處的專案。
CComDynamicUnkArray::GetCookie 呼叫這個方法以取得與指定 IUnknown 指標相關聯的Cookie。
CComDynamicUnkArray::GetSize 傳回數位可以儲存的項目數。
CComDynamicUnkArray::GetUnknown 呼叫這個方法以取得 IUnknown 與指定 Cookie 相關聯的指標。
CComDynamicUnkArray::Remove 呼叫這個方法以從陣列中移除 IUnknown 指標。

備註

CComDynamicUnkArray 會保存動態配置的指標數位 IUnknown ,每個介面都是連接點上的介面。 CComDynamicUnkArray可作為 IConnectionPointImpl 樣本類別的參數

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

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

注意

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

需求

標頭: atlcom.h

CComDynamicUnkArray::Add

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

DWORD Add(IUnknown* pUnk);

參數

朋克
IUnknown 加入至陣列的指標。

傳回值

傳回與新加入指標相關聯的 Cookie。 使用此 Cookie 從具有 CComDynamicUnkArray::GetAt 的陣列擷取指標。

備註

如果 Remove() 先前在此陣列上呼叫,則插入此專案的位置不一定直接在上次插入的項目之後。 使用傳回的 Cookie 可靠地存取插入的指標。 數位大小可能會增加以容納更多專案。 使用 GetSize() 取得新的大小。

CComDynamicUnkArray::begin

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

IUnknown**
    begin();

傳回值

介面指標的 IUnknown 指標。

備註

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

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

CComDynamicUnkArray::clear

清空陣列。 將大小重設為 0。

void clear();

CComDynamicUnkArray::CComDynamicUnkArray

建構函式。

CComDynamicUnkArray();

備註

將集合大小設定為零,並將值初始化為 NULL。 如有必要,解構函式會釋放集合。

CComDynamicUnkArray::~CComDynamicUnkArray

解構函式。

~CComDynamicUnkArray();

備註

釋放類別建構函式所配置的資源。

CComDynamicUnkArray::end

傳回數位列所配置緩衝區中最後一個元素的指標。

注意:這表示最後插入的指標不保證位於 , end()-1 因為陣列可能無法填入容量。

IUnknown**
    end();

傳回值

介面指標的 IUnknown 指標。

CComDynamicUnkArray::GetAt

擷取位於指定索引處的專案。

IUnknown* GetAt(int nIndex);

參數

nIndex
要擷取之項目的索引。

傳回值

如果專案先前已加入且存在於這個索引處,則為 IUnknown 介面的指標,否則NULL為 。

CComDynamicUnkArray::GetCookie

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

DWORD WINAPI GetCookie(IUnknown** ppFind);

參數

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

傳回值

傳回與 IUnknown 指標相關聯的 Cookie,如果沒有找到相符 IUnknown 的指標,則傳回零。

備註

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

CComDynamicUnkArray::GetSize

傳回數位配置容量。

注意:這與陣列中目前非 NULL 元素的數目不同。

int GetSize() const;

傳回值

數位可以儲存的項目數目。 GetSize() == end() - begin().

CComDynamicUnkArray::GetUnknown

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

IUnknown* WINAPI GetUnknown(DWORD dwCookie);

參數

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

傳回值

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

CComDynamicUnkArray::Remove

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

所有其他元素都會保持不變,並保留其索引和 Cookie。

BOOL Remove(DWORD dwCookie);

參數

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

傳回值

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

另請參閱

CComUnkArray 類別
類別概觀