HrQueryAllRows
S’applique à : Outlook 2013 | Outlook 2016
Récupère toutes les lignes d’une table.
Propriété | Valeur |
---|---|
Fichier d’en-tête : |
Mapiutil.h |
Implémenté par : |
MAPI |
Appelé par : |
Applications clientes et fournisseurs de services |
HRESULT HrQueryAllRows(
LPMAPITABLE ptable,
LPSPropTagArray ptaga,
LPSRestriction pres,
LPSSortOrderSet psos,
LONG crowsMax,
LPSRowSet FAR * pprows
);
Paramètres
ptable
[in] Pointeur vers la table MAPI à partir de laquelle les lignes sont récupérées.
ptaga
[in] Pointeur vers une structure SPropTagArray qui contient un tableau de balises de propriété indiquant des colonnes de table. Ces balises sont utilisées pour sélectionner les colonnes spécifiques à récupérer. Si le paramètre ptaga a la valeur NULL, HrQueryAllRows récupère l’ensemble de colonnes de la vue de table actuelle passée dans le paramètre ptable .
pres
[in] Pointeur vers une structure SRestriction qui contient des restrictions de récupération. Si le paramètre pres a la valeur NULL, HrQueryAllRows n’effectue aucune restriction.
psos
[in] Pointeur vers une structure SSortOrderSet identifiant l’ordre de tri des colonnes à récupérer. Si le paramètre psos est NULL, l’ordre de tri par défaut de la table est utilisé.
crowsMax
[in] Nombre maximal de lignes à récupérer. Si la valeur du paramètre crowsMax est égale à zéro, aucune limite sur le nombre de lignes récupérées n’est définie.
pprows
[out] Pointeur vers un pointeur vers la structure SRowSet retournée qui contient un tableau de pointeurs vers les lignes de table récupérées.
Valeur renvoyée
S_OK
L’appel a récupéré les lignes attendues d’une table.
MAPI_E_TABLE_TOO_BIG
Le nombre de lignes dans la table est supérieur au nombre passé pour le paramètre crowsMax .
Remarques
Une application cliente ou un fournisseur de services n’a aucun contrôle sur le nombre de lignes que HrQueryAllRows tente de récupérer, sauf en imposant une restriction pointée par le paramètre pres . Le paramètre crowsMax ne limite pas la récupération à un certain nombre de lignes de table, mais définit plutôt une quantité maximale de mémoire disponible pour contenir toutes les lignes récupérées. La seule protection contre les dépassements de mémoire massifs est la fonctionnalité stopgap fournie par la définition de crowsMax. L’erreur retourne MAPI_E_TABLE_TOO_BIG signifie que la table contient trop de lignes pour être conservées en même temps en mémoire.
Les tables qui sont généralement petites, telles qu’une table de magasin de messages ou une table de fournisseur, peuvent généralement être récupérées en toute sécurité avec HrQueryAllRows. Les tables qui risquent d’être très volumineuses, telles qu’une table de contenu ou même une table de destinataires, doivent être parcourues dans les sous-sections à l’aide de la méthode IMAPITable ::QueryRows .
Si des propriétés de table ne sont pas définies lors de l’appel de HrQueryAllRows , elles sont retournées avec le type de propriété PT_NULL et l’identificateur de propriété PROP_ID_NULL