IMAPITable::ExpandRow
S’applique à : Outlook 2013 | Outlook 2016
Développe une catégorie de table réduite, en ajoutant la feuille ou les lignes de titre de niveau inférieur appartenant à la catégorie à la vue de tableau.
HRESULT ExpandRow(
ULONG cbInstanceKey,
LPBYTE pbInstanceKey,
ULONG ulRowCount,
ULONG ulFlags,
LPSRowSet FAR * lppRows,
ULONG FAR * lpulMoreRows
);
Paramètres
cbInstanceKey
[in] Nombre d’octets dans la propriété PR_INSTANCE_KEY pointée par le paramètre pbInstanceKey .
pbInstanceKey
[in] Pointeur vers la propriété PR_INSTANCE_KEY (PidTagInstanceKey) qui identifie la ligne d’en-tête de la catégorie.
ulRowCount
[in] Nombre maximal de lignes à retourner dans le paramètre lppRows .
ulFlags
Réservés au; doit être égal à zéro.
lppRows
[out] Pointeur vers une structure SRowSet recevant les premières lignes (jusqu’à ulRowCount) qui ont été insérées dans la vue de table à la suite de l’expansion. Ces lignes sont insérées après la ligne d’en-tête identifiée par le paramètre pbInstanceKey . Le paramètre lppRows peut être NULL si le paramètre ulRowCount est égal à zéro.
lpulMoreRows
[out] Pointeur vers le nombre total de lignes ajoutées à la vue de table.
Valeur renvoyée
S_OK
La catégorie a été développée avec succès.
MAPI_E_NOT_FOUND
La ligne identifiée par le paramètre pbInstanceKey n’existe pas.
Remarques
La méthode IMAPITable ::ExpandRow développe une catégorie de table réduite, en ajoutant la feuille ou les lignes de titre de niveau inférieur qui appartiennent à la catégorie à la vue table. Une limite au nombre de lignes à retourner dans le paramètre lppRows peut être spécifiée dans le paramètre ulRowCount . Lorsque ulRowCount est défini sur une valeur supérieure à zéro et qu’une ou plusieurs lignes sont retournées dans le jeu de lignes vers lequel pointe lppRows, la position du signet BOOKMARK_CURRENT est déplacée vers la ligne immédiatement après la dernière ligne du jeu de lignes.
Quand ulRowCount est défini sur zéro, demandant que zéro feuille ou ligne de titre de niveau inférieur soit ajouté à la catégorie, ou que zéro ligne soit retournée parce qu’il n’y a pas de ligne feuille ou de titre de niveau inférieur dans la catégorie, la position de BOOKMARK_CURRENT est définie sur la ligne qui suit la ligne identifiée par pbInstanceKey.
Remarques pour les responsables de l’implémentation
Ne générez pas de notifications sur les lignes ajoutées à une vue de table en raison de l’extension de catégorie.
Remarques pour les appelants
Le nombre de lignes dans l’ensemble de lignes vers lequel pointe le paramètre lppRows peut ne pas être égal au nombre de lignes qui ont été réellement ajoutées à la table, ni à l’ensemble des lignes feuille ou de titre de niveau inférieur pour la catégorie. Des erreurs peuvent se produire, telles que la mémoire insuffisante ou le nombre de lignes de la catégorie dépassant le nombre spécifié dans le paramètre ulRowCount . Dans les deux cas, BOOKMARK_CURRENT sera positionnée à la dernière ligne retournée. Pour récupérer immédiatement le reste des lignes de la catégorie, appelez IMAPITable ::QueryRows.
Ne vous attendez pas à recevoir une notification de table lorsqu’une catégorie change d’état. Vous pouvez conserver un cache local de lignes qui peut être mis à jour avec chaque appel ExpandRow ou CollapseRow .
Pour plus d’informations sur les tables classées, consultez Tri et catégorisation.
Référence MFCMAPI
Pour voir un exemple de code MFCMAPI, consultez le tableau suivant.
Fichier | Fonction | Commentaire |
---|---|---|
ContentsTableListCtrl.cpp |
CContentsTableListCtrl ::D oExpandCollapse |
MFCMAPI utilise la méthode IMAPITable ::ExpandRow pour développer une catégorie de table réduite. |