CComDynamicUnkArray クラス

このクラスには、IUnknown ポインターの配列が格納されます。

構文

class CComDynamicUnkArray

メンバー

パブリック コンストラクター

名前 説明
CComDynamicUnkArray::CComDynamicUnkArray コンストラクターです。 コレクションの値を NULL に、コレクションのサイズを 0 に初期化します。
CComDynamicUnkArray::~CComDynamicUnkArray デストラクター。

パブリック メソッド

名前 説明
CComDynamicUnkArray::Add このメソッドを呼び出すと、配列を指す IUnknown ポインターを追加できます。
CComDynamicUnkArray::begin コレクション内の最初の IUnknown ポインターを指すポインターを返します。
CComDynamicUnkArray::clear 配列を空にします。
CComDynamicUnkArray::end コレクション内の最後 IUnknown ポインターの 1 つ後を指すポインターを返します。
CComDynamicUnkArray::GetAt 指定したインデックス位置にある要素を取得します。
CComDynamicUnkArray::GetCookie このメソッドを呼び出すと、特定の IUnknown ポインターに関連付けられている Cookie を取得できます。
CComDynamicUnkArray::GetSize 配列が格納できる要素の数を返します。
CComDynamicUnkArray::GetUnknown このメソッドを呼び出すと、特定の Cookie に関連付けられている IUnknown ポインターを取得できます。
CComDynamicUnkArray::Remove このメソッドを呼び出すと、配列から IUnknown ポインターを削除することができます。

解説

CComDynamicUnkArray では、動的に割り当てられた、IUnknown ポインターの配列を保持します (それぞれは、接続ポイント上のインターフェイス)。 CComDynamicUnkArray は、IConnectionPointImpl テンプレート クラスに対するパラメーターとして使用できます。

CComDynamicUnkArray のメソッドである beginend を使用すると、イベントが発生したときなど、すべての接続ポイントをループ処理することができます。

接続ポイント プロキシの作成を自動化する方法の詳細については、「オブジェクトへの接続ポイントの追加」を参照してください。

Note

CComDynamicUnkArray クラスは、接続ポイントを持つコントロールを作成するときに、[クラスの追加] ウィザードによって使用されます。 接続ポイントの数を手動で指定する場合は、参照を CComDynamicUnkArray から CComUnkArray<n> に変更します。ここで、n は必要な接続ポイントの数です。

必要条件

ヘッダー: atlcom.h

CComDynamicUnkArray::Add

このメソッドを呼び出すと、配列を指す IUnknown ポインターを追加できます。

DWORD Add(IUnknown* pUnk);

パラメーター

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

配列の割り当てられたバッファー内の最後の要素の 1 つ後のポインターを返します。

注: これは、配列が容量に満たされない可能性があるため、最後に挿入されたポインターが存在 end()-1 することが保証されないことを意味します。

IUnknown**
    end();

戻り値

IUnknown インターフェイス ポインターを指すポインター。

CComDynamicUnkArray::GetAt

指定したインデックス位置にある要素を取得します。

IUnknown* GetAt(int nIndex);

パラメーター

Nindex
取得する要素のインデックス。

戻り値

要素が以前に追加され、 このインデックスに存在する場合は IUnknown インターフェイスへのポインター。それ以外の場合 NULLは .

CComDynamicUnkArray::GetCookie

このメソッドを呼び出すと、特定の IUnknown ポインターに関連付けられている Cookie を取得できます。

DWORD WINAPI GetCookie(IUnknown** ppFind);

パラメーター

ppFind
関連付けられている Cookie が必要な IUnknown ポインター。

戻り値

IUnknown ポインターに関連付けられているクッキーを返します。一致する IUnknown ポインターが見つからない場合は 0 を返します。

解説

同じ IUnknown ポインターのインスタンスが複数ある場合、この関数からは最初のインスタンスの Cookie が返されます。

CComDynamicUnkArray::GetSize

配列の割り当てられた容量を返します。

注: これは、現在配列内にある NULL 以外の要素の数と同じではありません。

int GetSize() const;

戻り値

配列に格納できる要素の数。 GetSize() == end() - begin().

CComDynamicUnkArray::GetUnknown

このメソッドを呼び出すと、特定の Cookie に関連付けられている IUnknown ポインターを取得できます。

IUnknown* WINAPI GetUnknown(DWORD dwCookie);

パラメーター

dwCookie
関連付けられた IUnknown ポインターが必要となる Cookie。

戻り値

IUnknown ポインターを返します。一致するクッキーが見つからない場合は NULL を返します。

CComDynamicUnkArray::Remove

このメソッドを呼び出すと、配列から IUnknown ポインターを削除することができます。

他のすべての要素は変更されず、インデックスと Cookie が保持されます。

BOOL Remove(DWORD dwCookie);

パラメーター

dwCookie
配列から削除する IUnknown ポインターを参照している Cookie。

戻り値

ポインターが削除された場合は TRUE を返します。それ以外の場合は FALSE を返します。

関連項目

CComUnkArray クラス
クラスの概要