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.