Klasa CComUnkArray
Ta klasa przechowuje IUnknown
wskaźniki i jest przeznaczona do użycia jako parametr klasy szablonu IConnectionPointImpl .
Składnia
template<unsigned int nMaxSize>
class CComUnkArray
Parametry
nMaxSize
Maksymalna liczba IUnknown
wskaźników, które mogą być przechowywane w tablicy statycznej.
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CComUnkArray::CComUnkArray | Konstruktor. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CComUnkArray::Add | Wywołaj tę metodę IUnknown , aby dodać wskaźnik do tablicy. |
CComUnkArray::begin | Zwraca wskaźnik do pierwszego IUnknown wskaźnika w kolekcji. |
CComUnkArray::end | Zwraca wskaźnik do jednego obok ostatniego IUnknown wskaźnika w kolekcji. |
CComUnkArray::GetCookie | Wywołaj tę metodę, aby pobrać plik cookie skojarzony z danym IUnknown wskaźnikiem. |
CComUnkArray::GetUnknown | Wywołaj tę metodę, aby uzyskać IUnknown wskaźnik skojarzony z danym plikiem cookie. |
CComUnkArray::Remove | Wywołaj tę metodę IUnknown , aby usunąć wskaźnik z tablicy. |
Uwagi
CComUnkArray
przechowuje stałą liczbę IUnknown
wskaźników, z których każdy jest interfejsem w punkcie połączenia. CComUnkArray
Można użyć jako parametru do klasy szablonu IConnectionPointImpl . CComUnkArray<1>
to specjalizacja szablonu CComUnkArray
, która została zoptymalizowana pod kątem jednego punktu połączenia.
CComUnkArray
Metody rozpoczynające się i końcowe mogą służyć do pętli przez wszystkie punkty połączenia (na przykład po wyzwoleniu zdarzenia).
Aby uzyskać szczegółowe informacje na temat automatyzowania tworzenia serwerów proxy punktów połączenia, zobacz Dodawanie punktów połączenia do obiektu .
Uwaga
Uwaga Klasa CComDynamicUnkArray jest używana przez Kreatora dodawania klas podczas tworzenia kontrolki z punktami połączenia. Jeśli chcesz ręcznie określić liczbę punktów połączenia, zmień odwołanie z CComDynamicUnkArray
na CComUnkArray<
n >
, gdzie n to liczba wymaganych punktów połączenia.
Wymagania
Nagłówek: atlcom.h
CComUnkArray::Add
Wywołaj tę metodę IUnknown
, aby dodać wskaźnik do tablicy.
DWORD Add(IUnknown* pUnk);
Parametry
Punk
Wywołaj tę metodę IUnknown
, aby dodać wskaźnik do tablicy.
Wartość zwracana
Zwraca plik cookie skojarzony z nowo dodanym wskaźnikiem lub 0, jeśli tablica nie jest wystarczająco duża, aby zawierać nowy wskaźnik.
CComUnkArray::begin
Zwraca wskaźnik na początku kolekcji wskaźników interfejsu IUnknown
.
IUnknown**
begin();
Wartość zwracana
Wskaźnik do wskaźnika interfejsu IUnknown
.
Uwagi
Kolekcja zawiera wskaźniki do interfejsów przechowywanych lokalnie jako IUnknown
. Każdy IUnknown
interfejs jest rzutowy do rzeczywistego typu interfejsu, a następnie wywołuje go. Najpierw nie trzeba wykonywać zapytań dotyczących interfejsu.
Przed użyciem interfejsu IUnknown
należy sprawdzić, czy nie ma wartości NULL.
CComUnkArray::CComUnkArray
Konstruktor.
CComUnkArray();
Uwagi
Ustawia kolekcję do przechowywania nMaxSize
IUnknown
wskaźników i inicjuje wskaźniki na wartość NULL.
CComUnkArray::end
Zwraca wskaźnik do jednego obok ostatniego IUnknown
wskaźnika w kolekcji.
IUnknown**
end();
Wartość zwracana
Wskaźnik do wskaźnika interfejsu IUnknown
.
Uwagi
Metody CComUnkArray
begin
i end
mogą służyć do pętli przez wszystkie punkty połączenia, na przykład po uruchomieniu zdarzenia.
IUnknown** p = m_vec.begin();
while(p != m_vec.end())
{
// Do something with *p
p++;
}
CComUnkArray::GetCookie
Wywołaj tę metodę, aby pobrać plik cookie skojarzony z danym IUnknown
wskaźnikiem.
DWORD WINAPI GetCookie(IUnknown** ppFind);
Parametry
ppFind
Wskaźnik IUnknown
, dla którego jest wymagany skojarzony plik cookie.
Wartość zwracana
Zwraca plik cookie skojarzony ze wskaźnikiem IUnknown
lub 0, jeśli nie zostanie znaleziony pasujący IUnknown
wskaźnik.
Uwagi
Jeśli istnieje więcej niż jedno wystąpienie tego samego IUnknown
wskaźnika, ta funkcja zwraca plik cookie dla pierwszego wystąpienia.
CComUnkArray::GetUnknown
Wywołaj tę metodę, aby uzyskać IUnknown
wskaźnik skojarzony z danym plikiem cookie.
IUnknown* WINAPI GetUnknown(DWORD dwCookie);
Parametry
dwCookie
Plik cookie, dla którego jest wymagany skojarzony IUnknown
wskaźnik.
Wartość zwracana
IUnknown
Zwraca wskaźnik lub wartość NULL, jeśli nie znaleziono pasującego pliku cookie.
CComUnkArray::Remove
Wywołaj tę metodę IUnknown
, aby usunąć wskaźnik z tablicy.
BOOL Remove(DWORD dwCookie);
Parametry
dwCookie
Plik cookie odwołujący IUnknown
się do wskaźnika, który ma zostać usunięty z tablicy.
Wartość zwracana
Zwraca wartość TRUE, jeśli wskaźnik zostanie usunięty, w przeciwnym razie wartość FALSE.