IMsgStore::SetLockState
Aplica-se a: Outlook 2013 | Outlook 2016
Bloqueia ou desbloqueia uma mensagem. Esse método é chamado apenas pelo spooler MAPI.
HRESULT SetLockState(
LPMESSAGE lpMessage,
ULONG ulLockState
);
Parâmetros
Lpmessage
[in] Um ponteiro para a mensagem para bloquear ou desbloquear.
ulLockState
[in] Um valor que indica se a mensagem deve ser bloqueada ou desbloqueada. Um dos seguintes valores é válido:
MSG_LOCKED
A mensagem deve ser bloqueada.
MSG_UNLOCKED
A mensagem deve ser desbloqueada.
Valor de retorno
S_OK
O estado de bloqueio da mensagem foi definido com êxito.
Comentários
O método IMsgStore::SetLockState bloqueia ou desbloqueia uma mensagem. SetLockState só pode ser chamado pelo spooler MAPI enquanto ele está enviando a mensagem.
Normalmente, quando o spooler MAPI chama SetLockState para bloquear uma mensagem, ele bloqueia apenas a mensagem mais antiga (ou seja, a próxima mensagem enfileirada para o spooler MAPI enviar). Se a mensagem mais antiga da fila estiver aguardando por um provedor de transporte temporariamente indisponível e a próxima mensagem na fila usar um provedor de transporte diferente, o spooler MAPI poderá começar a processar a mensagem posterior. Ele começa o processamento bloqueando essa mensagem usando SetLockState.
Observações para implementadores
Depois que o spooler MAPI tiver chamado SetLockState com o parâmetro ulLockState definido como MSG_LOCKED, as chamadas para o método IMsgStore::AbortSubmit para cancelar a transmissão da mensagem devem falhar.
Chame o método IMAPIProp::SaveChanges da mensagem em sua implementação SetLockState para que todas as alterações feitas na mensagem antes do recebimento da chamada SetLockState sejam salvas.