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. |