Klasa CComDynamicUnkArray
Ta klasa przechowuje tablicę IUnknown
wskaźników.
Składnia
class CComDynamicUnkArray
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CComDynamicUnkArray::CComDynamicUnkArray | Konstruktor. Inicjuje wartości kolekcji null i rozmiar kolekcji do zera. |
CComDynamicUnkArray::~CComDynamicUnkArray | Destruktora. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CComDynamicUnkArray::Add | Wywołaj tę metodę IUnknown , aby dodać wskaźnik do tablicy. |
CComDynamicUnkArray::begin | Zwraca wskaźnik do pierwszego IUnknown wskaźnika w kolekcji. |
CComDynamicUnkArray::clear | Opróżnia tablicę. |
CComDynamicUnkArray::end | Zwraca wskaźnik do jednego obok ostatniego IUnknown wskaźnika w kolekcji. |
CComDynamicUnkArray::GetAt | Pobiera element w określonym indeksie. |
CComDynamicUnkArray::GetCookie | Wywołaj tę metodę, aby pobrać plik cookie skojarzony z danym IUnknown wskaźnikiem. |
CComDynamicUnkArray::GetSize | Zwraca liczbę elementów, które może przechowywać tablica. |
CComDynamicUnkArray::GetUnknown | Wywołaj tę metodę, aby uzyskać IUnknown wskaźnik skojarzony z danym plikiem cookie. |
CComDynamicUnkArray::Remove | Wywołaj tę metodę IUnknown , aby usunąć wskaźnik z tablicy. |
Uwagi
CComDynamicUnkArray
przechowuje dynamicznie przydzieloną tablicę IUnknown
wskaźników, z których każdy jest interfejsem w punkcie połączenia. CComDynamicUnkArray
Można użyć jako parametru do klasy szablonu IConnectionPointImpl .
CComDynamicUnkArray
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 Dodaj 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
CComDynamicUnkArray::Add
Wywołaj tę metodę IUnknown
, aby dodać wskaźnik do tablicy.
DWORD Add(IUnknown* pUnk);
Parametry
Punk
Wskaźnik IUnknown
do dodania do tablicy.
Wartość zwracana
Zwraca plik cookie skojarzony z nowo dodanym wskaźnikiem. Użyj tego pliku cookie, aby pobrać wskaźnik z tablicy za pomocą CComDynamicUnkArray::GetAt.
Uwagi
Pozycja, w której ten element jest wstawiony, nie musi znajdować się bezpośrednio po ostatnio wstawionym elemencie, jeśli Remove()
został wcześniej wywołany w tej tablicy. Użyj zwróconego pliku cookie, aby niezawodnie uzyskać dostęp do wstawionego wskaźnika.
Rozmiar tablicy może zostać zwiększony, aby pomieścić więcej elementów. Użyj polecenia GetSize()
, aby uzyskać nowy rozmiar.
CComDynamicUnkArray::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.
CComDynamicUnkArray::clear
Opróżnia tablicę. Resetuje rozmiar na 0.
void clear();
CComDynamicUnkArray::CComDynamicUnkArray
Konstruktor.
CComDynamicUnkArray();
Uwagi
Ustawia rozmiar kolekcji na zero i inicjuje wartości null. Destruktor zwalnia kolekcję, jeśli jest to konieczne.
CComDynamicUnkArray::~CComDynamicUnkArray
Destruktora.
~CComDynamicUnkArray();
Uwagi
Zwalnia zasoby przydzielone przez konstruktor klasy.
CComDynamicUnkArray::end
Zwraca wskaźnik do jednego ostatniego elementu w przydzielonym buforze tablicy.
Uwaga: oznacza to, że wskaźnik ostatnio wstawiony nie jest gwarantowany end()-1
, ponieważ tablica może nie być wypełniona pojemnością.
IUnknown**
end();
Wartość zwracana
Wskaźnik do wskaźnika interfejsu IUnknown
.
CComDynamicUnkArray::GetAt
Pobiera element w określonym indeksie.
IUnknown* GetAt(int nIndex);
Parametry
nIndex
Indeks elementu do pobrania.
Wartość zwracana
Wskaźnik do interfejsu IUnknown , jeśli element został wcześniej dodany i istnieje w tym indeksie; w przeciwnym razie NULL
.
CComDynamicUnkArray::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 zero, 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.
CComDynamicUnkArray::GetSize
Zwraca przydzieloną pojemność tablicy.
Uwaga: nie jest to samo, co liczba elementów innych niż NULL obecnie w tablicy.
int GetSize() const;
Wartość zwracana
Liczba elementów, które może przechowywać tablica. GetSize() == end() - begin()
.
CComDynamicUnkArray::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.
CComDynamicUnkArray::Remove
Wywołaj tę metodę IUnknown
, aby usunąć wskaźnik z tablicy.
Wszystkie inne elementy są niezmienione i zachowują indeks i plik cookie.
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 FAŁSZ.