Partager via


CComDynamicUnkArray, classe

Cette classe stocke un tableau de IUnknown pointeurs.

Syntaxe

class CComDynamicUnkArray

Membres

Constructeurs publics

Nom Description
CComDynamicUnkArray ::CComDynamicUnkArray Constructeur. Initialise les valeurs de collection à NULL et la taille de la collection à zéro.
CComDynamicUnkArray ::~CComDynamicUnkArray Destructeur.

Méthodes publiques

Nom Description
CComDynamicUnkArray ::Add Appelez cette méthode pour ajouter un IUnknown pointeur au tableau.
CComDynamicUnkArray ::begin Retourne un pointeur vers le premier IUnknown pointeur de la collection.
CComDynamicUnkArray ::clear Vide le tableau.
CComDynamicUnkArray ::end Retourne un pointeur vers un pointeur au-delà du dernier IUnknown pointeur de la collection.
CComDynamicUnkArray ::GetAt Récupère l’élément à l’index spécifié.
CComDynamicUnkArray ::GetCookie Appelez cette méthode pour obtenir le cookie associé à un pointeur donné IUnknown .
CComDynamicUnkArray ::GetSize Retourne le nombre d’éléments que le tableau peut stocker.
CComDynamicUnkArray ::GetUnknown Appelez cette méthode pour obtenir le IUnknown pointeur associé à un cookie donné.
CComDynamicUnkArray ::Remove Appelez cette méthode pour supprimer un IUnknown pointeur du tableau.

Notes

CComDynamicUnkArray contient un tableau de IUnknown pointeurs alloué dynamiquement, chaque interface sur un point de connexion. CComDynamicUnkArray peut être utilisé comme paramètre pour la classe de modèle IConnectionPointImpl .

Les CComDynamicUnkArray méthodes de début et de fin peuvent être utilisées pour parcourir tous les points de connexion (par exemple, lorsqu’un événement est déclenché).

Pour plus d’informations sur l’automatisation de la création de proxys de point de connexion, consultez Ajout de points de connexion à un objet .

Remarque

Notez que la classe est utilisée par l’Assistant Ajouter une classe CComDynamicUnkArray lors de la création d’un contrôle avec des points de connexion. Si vous souhaitez spécifier manuellement le nombre de points de connexion, remplacez la référence par CComDynamicUnkArray CComUnkArray< n>, où n correspond au nombre de points de connexion requis.

Spécifications

En-tête : atlcom.h

CComDynamicUnkArray ::Add

Appelez cette méthode pour ajouter un IUnknown pointeur au tableau.

DWORD Add(IUnknown* pUnk);

Paramètres

punk
Pointeur IUnknown à ajouter au tableau.

Valeur de retour

Retourne le cookie associé au pointeur nouvellement ajouté. Utilisez ce cookie pour récupérer le pointeur à partir du tableau avec CComDynamicUnkArray ::GetAt.

Notes

La position où cet élément est inséré ne sera pas nécessairement directement après le dernier élément inséré s’il Remove() était précédemment appelé sur ce tableau. Utilisez le cookie retourné pour accéder de manière fiable au pointeur inséré. La taille du tableau peut être augmentée pour prendre en charge davantage d’éléments. Permet GetSize() d’obtenir la nouvelle taille.

CComDynamicUnkArray ::begin

Retourne un pointeur au début de la collection de pointeurs d’interface IUnknown .

IUnknown**
    begin();

Valeur de retour

Pointeur vers un pointeur d’interface IUnknown .

Notes

La collection contient des pointeurs vers des interfaces stockées localement en tant que IUnknown. Vous castez chaque IUnknown interface en type d’interface réel, puis appelez-la. Vous n’avez pas besoin d’interroger l’interface en premier.

Avant d’utiliser l’interface IUnknown , vous devez vérifier qu’elle n’est pas NULL.

CComDynamicUnkArray ::clear

Vide le tableau. Réinitialise la taille à 0.

void clear();

CComDynamicUnkArray ::CComDynamicUnkArray

Constructeur .

CComDynamicUnkArray();

Notes

Définit la taille de la collection sur zéro et initialise les valeurs sur NULL. Le destructeur libère la collection, si nécessaire.

CComDynamicUnkArray ::~CComDynamicUnkArray

Destructeur.

~CComDynamicUnkArray();

Notes

Libère les ressources allouées par le constructeur de classe.

CComDynamicUnkArray ::end

Retourne un pointeur vers le dernier élément de la mémoire tampon allouée du tableau.

Remarque : cela signifie que le dernier pointeur inséré n’est pas garanti end()-1 car le tableau peut ne pas être rempli en capacité.

IUnknown**
    end();

Valeur de retour

Pointeur vers un pointeur d’interface IUnknown .

CComDynamicUnkArray ::GetAt

Récupère l’élément à l’index spécifié.

IUnknown* GetAt(int nIndex);

Paramètres

nIndex
Index de l'élément à récupérer.

Valeur de retour

Pointeur vers une interface IUnknown si un élément a été précédemment ajouté et existe à cet index ; sinon NULL.

CComDynamicUnkArray ::GetCookie

Appelez cette méthode pour obtenir le cookie associé à un pointeur donné IUnknown .

DWORD WINAPI GetCookie(IUnknown** ppFind);

Paramètres

ppFind
Pointeur IUnknown pour lequel le cookie associé est requis.

Valeur de retour

Retourne le cookie associé au IUnknown pointeur ou zéro si aucun pointeur correspondant IUnknown n’est trouvé.

Notes

S’il existe plusieurs instances du même IUnknown pointeur, cette fonction retourne le cookie pour le premier.

CComDynamicUnkArray ::GetSize

Retourne la capacité allouée du tableau.

Remarque : ce n’est pas le même que le nombre d’éléments non NULL actuellement dans le tableau.

int GetSize() const;

Valeur de retour

Nombre d’éléments que le tableau peut stocker. GetSize() == end() - begin().

CComDynamicUnkArray ::GetUnknown

Appelez cette méthode pour obtenir le IUnknown pointeur associé à un cookie donné.

IUnknown* WINAPI GetUnknown(DWORD dwCookie);

Paramètres

dwCookie
Cookie pour lequel le pointeur associé IUnknown est requis.

Valeur de retour

Retourne le IUnknown pointeur ou NULL si aucun cookie correspondant n’est trouvé.

CComDynamicUnkArray ::Remove

Appelez cette méthode pour supprimer un IUnknown pointeur du tableau.

Tous les autres éléments sont inchangés et conservent leur index et leur cookie.

BOOL Remove(DWORD dwCookie);

Paramètres

dwCookie
Cookie référençant le IUnknown pointeur à supprimer du tableau.

Valeur de retour

Retourne TRUE si le pointeur est supprimé ; sinon FALSE.

Voir aussi

CComUnkArray, classe
Vue d’ensemble de la classe