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