Udostępnij przez


Klasa CComDynamicUnkArray

Ta klasa przechowuje tablicę IUnknown wskaźników.

Składnia

class CComDynamicUnkArray

Członkowie

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. CComDynamicUnkArrayMoże służyć jako parametr do klasy szablonu I Połączenie ionPointImpl.

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łączenie ion do obiektu.

Uwaga

Uwaga Klasa CComDynamicUnkArray jest używana przez Kreatora dodawania klasy podczas tworzenia kontrolki, która ma punkty Połączenie ion. Jeśli chcesz ręcznie określić liczbę punktów Połączenie ion, zmień odwołanie z CComDynamicUnkArray naCComUnkArray< 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.

Zobacz też

Klasa CComUnkArray
Omówienie klasy