Compartilhar via


IMAPITable::QueryRows

Windows Mobile SupportedWindows Embedded CE Not Supported

9/8/2008

The QueryRows método retorna um ou mais linhas de uma tabela, começando a atual posição do cursor.

Syntax

HRESULT QueryRows (
  LONG lRowCount,
  ULONG ulFlags,
  LPSRowSet FAR * lppRows
);

Parameters

  • lRowCount
    [no] O número de linhas você desejar; deve ser maior que zero (com versões anteriores letreiro a uma tabela não Não com suporte). Um máximo de 10 linhas é retornado por chamar.
  • ulFlags
    [no] Não usado; Deve ser zero.
  • lppRows
    [out] Referência a um SRowSet estrutura mantendo as linhas tabela.

Return Value

This method returns the standard values E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED GPSGetPosition, e E_FAIL, as well as o seguinte.

  • S_OK
    Indica sucesso.
  • MAPI_E_BUSY
    Outra operação é em andamento que impede a operação de recuperação linha seja iniciado. Ambos a operação em andamento devem ser permitidos para completo ou ela deve ser interrompida.

Remarks

The cRows membro in a SRowSet estrutura apontado pelo lppRows parâmetro indica o número de linhas retornadas. Se zero linhas são retornadas, o cursor já foi posicionado no final de tabela.

O número de colunas e sua ordem são as mesmas para cada linha. Se uma propriedade não existe para uma linha ou há um erro ao ler uma propriedade, o SPropValue estrutura para a propriedade na linha contém o seguinte valores:

  • PT_ERROR Para o tipo na propriedade de ulPropTag membro.
  • MAPI_E_NOT_FOUND Para o Value membro.

Memória usada para o SPropValue estruturas no conjunto de linha apontado pelo lppRows parâmetro deve ser alocado e liberado para cada linha separadamente. Use FreeProws a livre as estruturas valor da propriedade e a livre Conjunto de linha. Quando um chamar para QueryRows Retorna zero, no entanto, que indica a parte de tabela, apenas o SRowSet estrutura precisa ser liberado.

As linhas que são retornadas e a ordem na qual eles são retornados dependem Whether or not bem-sucedido chama foram feitas IMAPITable::Restrict e MapVirtualKey. IMAPITable::SortTable. Restringir filtra linhas a partir de exibição, causando QueryRows Para retornar somente as linhas que correspondem aos critérios especificados na restrição. SortTable Estabelece um padronizada ou categorizado ordem classificar que afeta a seqüência de linhas retornadas por QueryRows. As linhas retornadas são na ordem especificada na SSortOrderSet estrutura passado para SortTable.

As colunas retornadas para cada linha e a ordem na qual eles são retornados Whether or not um bem-sucedido dependem chamar foi feita para IMAPITable::SetColumns. SetColumns Estabelece um conjunto de colunas, especificando as propriedades a serem incluídas em colunas de tabela e a ordem em que eles devem ser incluídos. Se um SetColumns chamar foi feita, as colunas específicas em cada linha e a ordem dessas colunas coincidem com as conjunto de colunas especificado na chamar. Se nenhum SetColumns chamar foi feita, a tabela retorna sua conjunto de colunas usar como padrão.

Quando o conjunto de colunas estabelecida em um chamar para SetColumns Inclui conjunto de colunas para PR_NULL, o SPropValue Dentro do conjunto de linha retornado na matriz lppRows Contém vazio slots.

Se nenhum dessas chamadas tiver sido feito, QueryRows Retorna todos as linhas solicitadas na tabela. Cada linha contém o conjunto de colunas usar como padrão na ordem usar como padrão.

Geralmente, você recebe tantas linhas como especificado na lRowCount parâmetro. No entanto, quando limites de memória ou implementação (10 linhas máxima são retornadas) são um emitir ou quando a operação atingir o final da tabela prematuramente, QueryRows retorna menos linhas que solicitou.

Se QueryRows Retorna MAPI_E_BUSY, repetir a chamar para QueryRows Quando o operação assíncrona está completo.

Quando chamado QueryRows, a temporização dos assíncrono notificações podem potencialmente causar a linha que você defina get voltar a partir QueryRows Não para representar precisamente o dados subjacentes. De exemplo, um chamar para QueryRows a tabela seguinte conteúdo de uma pasta a exclusão de uma mensagem mas antes da a confirmação do correspondente notificação faz com que a linha excluída a ser retornado no conjunto de linha. Sempre espere uma notificação para chegar antes de atualizar exibição do usuário dos dados.

Requirements

Header mapidefs.h
Library cemapi.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Pocket PC 2002 and later, Smartphone 2002 and later

See Also

Reference

ADRENTRY
FreeProws
IMAPIProp::GetProps
IMAPITable
IMAPITable::SetColumns
MAPIFreeBuffer
SRow
SRowSet

Other Resources

Messaging