Compartir a través de


HrQueryAllRows

Hace referencia a: Outlook 2013 | Outlook 2016

Recupera todas las filas de una tabla.

Propiedad Valor
Archivo de encabezado:
Mapiutil.h
Implementado por:
MAPI
Llamado por:
Aplicaciones cliente y proveedores de servicios
HRESULT HrQueryAllRows(
  LPMAPITABLE ptable,
  LPSPropTagArray ptaga,
  LPSRestriction pres,
  LPSSortOrderSet psos,
  LONG crowsMax,
  LPSRowSet FAR * pprows
);

Parameters

ptable

[in] Puntero a la tabla MAPI desde la que se recuperan las filas.

ptaga

[in] Puntero a una estructura SPropTagArray que contiene una matriz de etiquetas de propiedad que indican columnas de tabla. Estas etiquetas se usan para seleccionar las columnas específicas que se van a recuperar. Si el parámetro ptaga es NULL, HrQueryAllRows recupera todo el conjunto de columnas de la vista de tabla actual pasada en el parámetro ptable .

Pres

[in] Puntero a una estructura SRestriction que contiene restricciones de recuperación. Si el parámetro pres es NULL, HrQueryAllRows no establece ninguna restricción.

Psos

[in] Puntero a una estructura SSortOrderSet que identifica el criterio de ordenación de las columnas que se van a recuperar. Si el parámetro psos es NULL, se usa el criterio de ordenación predeterminado de la tabla.

crowsMax

[in] Número máximo de filas que se van a recuperar. Si el valor del parámetro crowsMax es cero, no se establece ningún límite en el número de filas recuperadas.

pprows

[out] Puntero a un puntero a la estructura SRowSet devuelta que contiene una matriz de punteros a las filas de tabla recuperadas.

Valor devuelto

S_OK

La llamada recuperó las filas esperadas de una tabla.

MAPI_E_TABLE_TOO_BIG

El número de filas de la tabla es mayor que el número pasado para el parámetro crowsMax .

Comentarios

Una aplicación cliente o un proveedor de servicios no tiene ningún control sobre el número de filas que HrQueryAllRows intenta recuperar, excepto mediante la imposición de una restricción a la que apunta el parámetro pres . El parámetro crowsMax no limita la recuperación a un determinado número de filas de tabla, sino que define una cantidad máxima de memoria disponible para contener todas las filas recuperadas. La única protección contra el desbordamiento masivo de memoria es la característica stopgap proporcionada al establecer crowsMax. El error devuelve MAPI_E_TABLE_TOO_BIG significa que la tabla contiene demasiadas filas para mantenerse a la vez en la memoria.

Las tablas que suelen ser pequeñas, como una tabla de almacén de mensajes o una tabla de proveedor, normalmente se pueden recuperar de forma segura con HrQueryAllRows. Las tablas en riesgo de ser muy grandes, como una tabla de contenido o incluso una tabla de destinatarios, deben recorrerse en subsecciones mediante el método IMAPITable::QueryRows .

Si las propiedades de tabla no están definidas cuando se llama a HrQueryAllRows , se devuelven con el tipo de propiedad PT_NULL y el identificador de propiedad PROP_ID_NULL