Compartilhar via


HrQueryAllRows

Aplica-se a: Outlook 2013 | Outlook 2016

Recupera todas as linhas de uma tabela.

Propriedade Valor
Arquivo de cabeçalho:
Mapiutil.h
Implementado por:
MAPI
Chamado por:
Aplicativos cliente e provedores de serviços
HRESULT HrQueryAllRows(
  LPMAPITABLE ptable,
  LPSPropTagArray ptaga,
  LPSRestriction pres,
  LPSSortOrderSet psos,
  LONG crowsMax,
  LPSRowSet FAR * pprows
);

Parâmetros

ptable

[in] Ponteiro para a tabela MAPI da qual as linhas são recuperadas.

ptaga

[in] Ponteiro para uma estrutura SPropTagArray que contém uma matriz de marcas de propriedade indicando colunas de tabela. Essas marcas são usadas para selecionar as colunas específicas a serem recuperadas. Se o parâmetro ptaga for NULL, HrQueryAllRows recuperará todo o conjunto de colunas do modo de exibição de tabela atual passado no parâmetro ptable .

Pres

[in] Ponteiro para uma estrutura SRestriction que contém restrições de recuperação. Se o parâmetro pres for NULL, HrQueryAllRows não fará restrições.

Psos

[in] Ponteiro para uma estrutura SSortOrderSet que identifica a ordem de classificação das colunas a serem recuperadas. Se o parâmetro psos for NULL, a ordem de classificação padrão da tabela será usada.

crowsMax

[in] Número máximo de linhas a serem recuperadas. Se o valor do parâmetro crowsMax for zero, nenhum limite no número de linhas recuperadas será definido.

pprows

[out] Ponteiro para um ponteiro para a estrutura SRowSet retornada que contém uma matriz de ponteiros para as linhas de tabela recuperadas.

Valor de retorno

S_OK

A chamada recuperou as linhas esperadas de uma tabela.

MAPI_E_TABLE_TOO_BIG

O número de linhas na tabela é maior do que o número passado para o parâmetro crowsMax .

Comentários

Um aplicativo cliente ou provedor de serviços não tem controle sobre o número de linhas que HrQueryAllRows tenta recuperar, exceto impondo uma restrição apontada pelo parâmetro pres . O parâmetro crowsMax não limita a recuperação a um determinado número de linhas de tabela, mas define uma quantidade máxima de memória disponível para manter todas as linhas recuperadas. A única proteção contra estouro maciço de memória é o recurso stopgap fornecido pela configuração crowsMax. O retorno do erro MAPI_E_TABLE_TOO_BIG significa que a tabela contém muitas linhas a serem mantidas de uma só vez na memória.

Tabelas normalmente pequenas, como uma tabela de repositório de mensagens ou uma tabela de provedor, geralmente podem ser recuperadas com segurança com HrQueryAllRows. Tabelas em risco de serem muito grandes, como uma tabela de conteúdo ou até mesmo uma tabela de destinatários, devem ser atravessadas em subseções usando o método IMAPITable::QueryRows .

Se alguma propriedade de tabela estiver indefinida quando HrQueryAllRows for chamada, elas serão retornadas com o tipo de propriedade PT_NULL e o identificador de propriedade PROP_ID_NULL