Compartilhar via


IMAPITable::GetRowCount

Aplica-se a: Outlook 2013 | Outlook 2016

Retorna o número total de linhas na tabela.

HRESULT GetRowCount(
ULONG ulFlags,
ULONG FAR * lpulCount
);

Parâmetros

ulFlags

Reservados; deve ser zero.

lpulCount

[out] Ponteiro para o número de linhas na tabela.

Valor de retorno

S_OK

A contagem de linhas foi retornada com êxito.

MAPI_E_BUSY

Outra operação está em andamento que impede o início da operação de recuperação da contagem de linhas. A operação em andamento deve ser autorizada a ser concluída ou deve ser interrompida.

MAPI_E_NO_SUPPORT

A tabela não pode calcular o número de linhas.

MAPI_W_APPROX_COUNT

A chamada foi bem-sucedida, mas uma contagem aproximada de linhas foi retornada porque a contagem exata de linhas não pôde ser determinada possivelmente devido a restrições de memória. Para testar esse aviso, use a macro HR_FAILED . Consulte Usando macros para tratamento de erros.

Comentários

O método IMAPITable::GetRowCount recupera o número total de linhas em uma tabela.

Observações para implementadores

Se você não puder determinar a contagem exata de linhas da tabela, retorne MAPI_W_APPROX_COUNT e uma contagem de linhas aproximada no conteúdo do parâmetro lpulCount .

Notas para chamadores

Use GetRowCount para descobrir quantas linhas uma tabela contém antes de fazer uma chamada para o método IMAPITable::QueryRows para recuperar os dados. Se houver menos de vinte linhas na tabela, é seguro chamar QueryPosition para recuperar toda a tabela. Se houver mais de vinte linhas na tabela, considere fazer várias chamadas para QueryPosition e limitar o número de linhas recuperadas em cada chamada.

Algumas tabelas não dão suporte a GetRowCount e retornam MAPI_E_NO_SUPPORT. Se GetRowCount não tiver suporte, uma alternativa poderá ser chamar IMAPITable::QueryPosition. Com os resultados de QueryPosition, você pode determinar a relação entre a linha atual e a última linha.

Quando GetRowCount retornar MAPI_E_BUSY porque não é possível recuperar temporariamente uma contagem de linhas, chame o método IMAPITable::WaitForCompletion . Quando WaitForCompletion retornar, tente novamente a chamada para GetRowCount. Outra maneira de detectar se uma operação assíncrona está em andamento é chamar o método IMAPITable::GetStatus e marcar o conteúdo do parâmetro lpulTableState.

Referência do MFCMAPI

Para ver códigos de exemplo do MFCMAPI, confira a tabela a seguir.

Arquivo Função Comentário
MAPIFunctions.cpp
CopyFolderContents
O MFCMAPI usa o método IMAPITable::GetRowCount para determinar quantas linhas estão na tabela de origem para que a memória possa ser alocada para executar a cópia.

Confira também

IMAPITable::GetStatus

IMAPITable::QueryPosition

IMAPITable::QueryRows

IMAPITable::WaitForCompletion

IMAPITable : IUnknown

MFCMAPI como exemplo de código