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.