Compartilhar via


IMAPITable::ExpandRow

Aplica-se a: Outlook 2013 | Outlook 2016

Expande uma categoria de tabela recolhida, adicionando as linhas de título de folha ou de nível inferior pertencentes à categoria à exibição da tabela.

HRESULT ExpandRow(
ULONG cbInstanceKey,
LPBYTE pbInstanceKey,
ULONG ulRowCount,
ULONG ulFlags,
LPSRowSet FAR * lppRows,
ULONG FAR * lpulMoreRows
);

Parâmetros

cbInstanceKey

[in] A contagem de bytes na propriedade PR_INSTANCE_KEY apontada pelo parâmetro pbInstanceKey .

pbInstanceKey

[in] Um ponteiro para a propriedade PR_INSTANCE_KEY (PidTagInstanceKey) que identifica a linha de título para a categoria.

ulRowCount

[in] O número máximo de linhas a serem retornadas no parâmetro lppRows .

ulFlags

Reservados; deve ser zero.

lppRows

[out] Um ponteiro para uma estrutura SRowSet que recebe as primeiras linhas (até ulRowCount) que foram inseridas na exibição da tabela como resultado da expansão. Essas linhas são inseridas após a linha de título identificada pelo parâmetro pbInstanceKey . O parâmetro lppRows pode ser NULL se o parâmetro ulRowCount for zero.

lpulMoreRows

[out] Um ponteiro para o número total de linhas que foram adicionadas à exibição da tabela.

Valor de retorno

S_OK

A categoria foi expandida com êxito.

MAPI_E_NOT_FOUND

A linha identificada pelo parâmetro pbInstanceKey não existe.

Comentários

O método IMAPITable::ExpandRow expande uma categoria de tabela recolhida, adicionando as linhas de título de folha ou de nível inferior que pertencem à categoria à exibição de tabela. Um limite para o número de linhas a serem retornadas no parâmetro lppRows pode ser especificado no parâmetro ulRowCount . Quando ulRowCount é definido como um valor maior que zero e uma ou mais linhas são retornadas no conjunto de linhas apontado por lppRows, a posição do indicador BOOKMARK_CURRENT é movida para a linha imediatamente após a última linha no conjunto de linhas.

Quando ulRowCount é definido como zero, solicitando que nenhuma folha ou linhas de título de nível inferior sejam adicionadas à categoria ou nenhuma linha seja retornada porque não há linhas de título de folha ou de nível inferior na categoria, a posição de BOOKMARK_CURRENT é definida como a linha seguindo a linha identificada por pbInstanceKey.

Observações para implementadores

Não gere notificações em linhas adicionadas a uma exibição de tabela devido à expansão da categoria.

Notas para chamadores

O número de linhas no conjunto de linhas apontado pelo parâmetro lppRows pode não ser igual ao número de linhas que foram realmente adicionadas à tabela, todo o conjunto de linhas de título de folha ou de nível inferior para a categoria. Erros podem ocorrer, como memória insuficiente ou o número de linhas na categoria que excedem o número especificado no parâmetro ulRowCount . Em ambos os casos, BOOKMARK_CURRENT será posicionado na última linha retornada. Para recuperar imediatamente o restante das linhas na categoria, chame IMAPITable::QueryRows.

Não espere receber uma notificação de tabela quando uma categoria alterar seu estado. Você pode manter um cache local de linhas que podem ser atualizadas a cada chamada ExpandRow ou CollapseRow .

Para obter mais informações sobre tabelas categorizadas, consulte Classificação e Categorização.

Referência do MFCMAPI

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

Arquivo Função Comentário
ContentsTableListCtrl.cpp
CContentsTableListCtrl::D oExpandCollapse
O MFCMAPI usa o método IMAPITable::ExpandRow para expandir uma categoria de tabela recolhida.

Confira também

IMAPITable::CollapseRow

IMAPITable : IUnknown

MFCMAPI como exemplo de código