Compartilhar via


IMAPITable::SetCollapseState

Aplica-se a: Outlook 2013 | Outlook 2016

Recompila o estado atual expandido ou recolhido de uma tabela categorizada usando dados salvos por uma chamada anterior ao método IMAPITable::GetCollapseState .

HRESULT SetCollapseState(
ULONG ulFlags,
ULONG cbCollapseState,
LPBYTE pbCollapseState,
BOOKMARK FAR * lpbkLocation
);

Parâmetros

ulFlags

Reservados; deve ser zero.

cbCollapseState

[in] Contagem de bytes na estrutura apontada pelo parâmetro pbCollapseState .

pbCollapseState

[in] Ponteiro para as estruturas que contêm os dados necessários para recompilar a exibição da tabela.

lpbkLocation

[out] Ponteiro para um indicador que identifica a linha na tabela na qual o estado colapsado ou expandido deve ser reconstruído. Esse indicador e a chave da instância passadas no parâmetro lpbInstanceKey na chamada para IMAPITable::GetCollapseState identificam a mesma linha.

Valor de retorno

S_OK

O estado da tabela categorizada foi reconstruído com êxito.

MAPI_E_BUSY

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

MAPI_E_UNABLE_TO_COMPLETE

A tabela não pôde concluir a reconstrução da exibição recolhida ou expandida.

Comentários

O método IMAPITable::SetCollapseState restabelece o estado expandido ou colapsado da exibição da tabela. SetCollapseState e GetCollapseState funcionam juntos da seguinte maneira:

  1. Quando o estado de uma tabela categorizada está prestes a ser alterado, IMAPITable::GetCollapseState é chamado para salvar todos os dados relativos ao estado antes da alteração.

  2. Para restaurar a exibição da tabela em seu estado salvo, SetCollapseState é chamado. Os dados salvos pelo GetCollapseState são passados para SetCollapseState. SetCollapseState é capaz de usar esses dados para restaurar o estado.

  3. SetCollapseState retorna como um parâmetro de saída um indicador que identifica a mesma linha que a chave da instância passada como entrada para GetCollapseState.

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

Observações para implementadores

Você é responsável por verificar se a ordem de classificação e as restrições são exatamente as mesmas que eram no momento da chamada GetCollapseState . Se uma alteração tiver sido feita, SetCollapseState não deve ser chamado porque os resultados podem ser imprevisíveis. Isso pode acontecer se, por exemplo, um cliente chamar GetCollapseState e ClassificarTable para alterar a chave de classificação antes de chamar SetCollapseState. Para ser seguro, marcar que os dados salvos ainda são válidos antes de prosseguir com a restauração.

Notas para chamadores

Para chamar SetCollapseState, você deve ter chamado GetCollapseState anteriormente. A ordem de classificação que estabelece as categorias deve ser a mesma para ambos os métodos. Se as ordens de classificação forem diferentes, os resultados da operação SetCollapseState serão imprevisíveis.

Confira também

IMAPITable::CreateBookmark

IMAPITable::FreeBookmark

IMAPITable::GetCollapseState

IMAPITable : IUnknown