CComUnkArray – třída
Tato třída ukládá IUnknown
ukazatele a je navržena jako parametr třídy šablony IConnectionPointImpl .
Syntaxe
template<unsigned int nMaxSize>
class CComUnkArray
Parametry
nMaxSize
Maximální počet IUnknown
ukazatelů, které lze uchovávat ve statickém poli.
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CComUnkArray::CComUnkArray | Konstruktor |
Veřejné metody
Název | Popis |
---|---|
CComUnkArray::Add | Voláním této metody přidáte IUnknown ukazatel na pole. |
CComUnkArray::begin | Vrátí ukazatel na první IUnknown ukazatel v kolekci. |
CComUnkArray::end | Vrátí ukazatel na jeden za posledním IUnknown ukazatelem v kolekci. |
CComUnkArray::GetCookie | Voláním této metody získáte soubor cookie přidružený k danému IUnknown ukazateli. |
CComUnkArray::GetUnknown | Voláním této metody získáte IUnknown ukazatel přidružený k danému souboru cookie. |
CComUnkArray::Remove | Voláním této metody odeberete IUnknown ukazatel z pole. |
Poznámky
CComUnkArray
obsahuje pevný počet IUnknown
ukazatelů, přičemž každé rozhraní na spojovacím bodu. CComUnkArray
lze použít jako parametr třídy šablony IConnectionPointImpl . CComUnkArray<1>
je specializace CComUnkArray
šablony, která je optimalizovaná pro jeden spojovací bod.
Metody CComUnkArray
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ůvodce přidáním třídy 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
CComUnkArray::Add
Voláním této metody přidáte IUnknown
ukazatel na pole.
DWORD Add(IUnknown* pUnk);
Parametry
punk
Voláním této metody přidáte IUnknown
ukazatel na pole.
Návratová hodnota
Vrátí soubor cookie přidružený k nově přidanému ukazateli nebo hodnotu 0, pokud pole není dostatečně velké, aby obsahovalo nový ukazatel.
CComUnkArray::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.
CComUnkArray::CComUnkArray
Konstruktor
CComUnkArray();
Poznámky
Nastaví kolekci tak, aby držela nMaxSize
IUnknown
ukazatele, a inicializuje ukazatele na hodnotu NULL.
CComUnkArray::end
Vrátí ukazatel na jeden za posledním IUnknown
ukazatelem v kolekci.
IUnknown**
end();
Návratová hodnota
Ukazatel na IUnknown
ukazatel rozhraní.
Poznámky
Metody CComUnkArray
begin
a end
lze je použít ke smyčce všech spojovacích bodů, například při spuštění události.
IUnknown** p = m_vec.begin();
while(p != m_vec.end())
{
// Do something with *p
p++;
}
CComUnkArray::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 IUnknown
nebo hodnotu 0, 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í.
CComUnkArray::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.
CComUnkArray::Remove
Voláním této metody odeberete IUnknown
ukazatel z pole.
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.