Sdílet prostřednictvím


CComDynamicUnkArray – třída

Tato třída ukládá pole IUnknown ukazatelů.

Syntaxe

class CComDynamicUnkArray

Členové

Veřejné konstruktory

Název Popis
CComDynamicUnkArray::CComDynamicUnkArray Konstruktor Inicializuje hodnoty kolekce na HODNOTU NULL a velikost kolekce na nulu.
CComDynamicUnkArray::~CComDynamicUnkArray Destruktor.

Veřejné metody

Název Popis
CComDynamicUnkArray::Add Voláním této metody přidáte IUnknown ukazatel na pole.
CComDynamicUnkArray::begin Vrátí ukazatel na první IUnknown ukazatel v kolekci.
CComDynamicUnkArray::clear Vyprázdní pole.
CComDynamicUnkArray::end Vrátí ukazatel na jeden za posledním IUnknown ukazatelem v kolekci.
CComDynamicUnkArray::GetAt Načte prvek v zadaném indexu.
CComDynamicUnkArray::GetCookie Voláním této metody získáte soubor cookie přidružený k danému IUnknown ukazateli.
CComDynamicUnkArray::GetSize Vrátí počet prvků, které pole může uložit.
CComDynamicUnkArray::GetUnknown Voláním této metody získáte IUnknown ukazatel přidružený k danému souboru cookie.
CComDynamicUnkArray::Remove Voláním této metody odeberete IUnknown ukazatel z pole.

Poznámky

CComDynamicUnkArray obsahuje dynamicky přidělenou matici IUnknown ukazatelů, přičemž každé rozhraní v spojovacím bodu. CComDynamicUnkArray lze použít jako parametr třídy šablony IConnectionPointImpl .

Metody CComDynamicUnkArray začátek a konec je možné použít ke smyčce všech spojovacích bodů (například při spuštění události).

Podrobnosti o automatizaci vytváření proxy spojovacích bodů najdete v tématu Přidání spojovacích bodů do objektu .

Poznámka:

Poznámka: Třída CComDynamicUnkArray je používána průvodcem Přidat třídu při vytváření ovládacího prvku, který má spojovací body. Pokud chcete zadat počet spojovacích bodů ručně, změňte odkaz z CComDynamicUnkArray na CComUnkArray< n >, kde n je počet požadovaných spojovacích bodů.

Požadavky

Hlavička: atlcom.h

CComDynamicUnkArray::Add

Voláním této metody přidáte IUnknown ukazatel na pole.

DWORD Add(IUnknown* pUnk);

Parametry

punk
Ukazatel IUnknown , který chcete přidat do pole.

Návratová hodnota

Vrátí soubor cookie přidružený k nově přidanému ukazateli. Pomocí tohoto souboru cookie načtěte ukazatel z pole pomocí CComDynamicUnkArray::GetAt.

Poznámky

Pozice, do které je tato položka vložena, nemusí být nutně přímo za poslední vloženou položku, pokud Remove() byla dříve volána v tomto poli. Vrácený soubor cookie použijte ke spolehlivému přístupu k vloženému ukazateli. Velikost pole může být zvýšena tak, aby vyhovovala více položkám. Slouží GetSize() k získání nové velikosti.

CComDynamicUnkArray::begin

Vrátí ukazatel na začátek kolekce IUnknown ukazatelů rozhraní.

IUnknown**
    begin();

Návratová hodnota

Ukazatel na IUnknown ukazatel rozhraní.

Poznámky

Kolekce obsahuje ukazatele na rozhraní uložená místně jako IUnknown. Přetypujete každé IUnknown rozhraní na skutečný typ rozhraní a pak ho zavoláte. Nemusíte se nejprve dotazovat na rozhraní.

Před použitím IUnknown rozhraní byste měli zkontrolovat, že nemá hodnotu NULL.

CComDynamicUnkArray::clear

Vyprázdní pole. Obnoví velikost na 0.

void clear();

CComDynamicUnkArray::CComDynamicUnkArray

Konstruktor

CComDynamicUnkArray();

Poznámky

Nastaví velikost kolekce na nulu a inicializuje hodnoty na HODNOTU NULL. Destruktor v případě potřeby uvolní kolekci.

CComDynamicUnkArray::~CComDynamicUnkArray

Destruktor.

~CComDynamicUnkArray();

Poznámky

Uvolní prostředky přidělené konstruktorem třídy.

CComDynamicUnkArray::end

Vrátí ukazatel na poslední prvek v přidělené vyrovnávací paměti pole.

Poznámka: To znamená, že poslední vložený ukazatel není zaručen end()-1 , protože pole nemusí být vyplněno do kapacity.

IUnknown**
    end();

Návratová hodnota

Ukazatel na IUnknown ukazatel rozhraní.

CComDynamicUnkArray::GetAt

Načte prvek v zadaném indexu.

IUnknown* GetAt(int nIndex);

Parametry

nIndex
Index elementu, který se má načíst.

Návratová hodnota

Ukazatel na rozhraní IUnknown , pokud byl prvek dříve přidán a existuje v tomto indexu; jinak NULL.

CComDynamicUnkArray::GetCookie

Voláním této metody získáte soubor cookie přidružený k danému IUnknown ukazateli.

DWORD WINAPI GetCookie(IUnknown** ppFind);

Parametry

ppFind
Ukazatel IUnknown , pro který se vyžaduje přidružený soubor cookie.

Návratová hodnota

Vrátí soubor cookie přidružený k ukazateli nebo nulu IUnknown , pokud se nenajde žádný odpovídající IUnknown ukazatel.

Poznámky

Pokud existuje více instancí stejného IUnknown ukazatele, vrátí tato funkce soubor cookie pro první.

CComDynamicUnkArray::GetSize

Vrátí přidělenou kapacitu pole.

Poznámka: Toto není totéž jako počet prvků, které nejsou null aktuálně v poli.

int GetSize() const;

Návratová hodnota

Počet prvků, které pole může uložit. GetSize() == end() - begin().

CComDynamicUnkArray::GetUnknown

Voláním této metody získáte IUnknown ukazatel přidružený k danému souboru cookie.

IUnknown* WINAPI GetUnknown(DWORD dwCookie);

Parametry

dwCookie
Soubor cookie, pro který je vyžadován přidružený IUnknown ukazatel.

Návratová hodnota

IUnknown Vrátí ukazatel nebo hodnotu NULL, pokud se nenajde žádný odpovídající soubor cookie.

CComDynamicUnkArray::Remove

Voláním této metody odeberete IUnknown ukazatel z pole.

Všechny ostatní prvky se nezmění a zachovají si jejich index a soubor cookie.

BOOL Remove(DWORD dwCookie);

Parametry

dwCookie
Soubor cookie odkazující na IUnknown ukazatel, který se má z pole odebrat.

Návratová hodnota

Vrátí hodnotu TRUE, pokud je ukazatel odebrán; jinak NEPRAVDA.

Viz také

CComUnkArray – třída
Přehled třídy