Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka:
Knihovna ATL (Active Template Library) se nadále podporuje. Už ale nepřidáme funkce ani aktualizujeme dokumentaci.
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 CComDynamicUnkArrayzačá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.