IMessage::CreateAttach
Aplica-se a: Outlook 2013 | Outlook 2016
Cria um novo anexo.
HRESULT CreateAttach(
LPCIID lpInterface,
ULONG ulFlags,
ULONG FAR * lpulAttachmentNum,
LPATTACH FAR * lppAttach
);
Parâmetros
lpInterface
[in] Ponteiro para o IID (identificador de interface) que representa a interface a ser usada para acessar a mensagem. Passar NULL resulta na interface padrão da mensagem, ou IMessage, sendo retornada.
ulFlags
[in] Bitmask de sinalizadores que controla como o anexo é criado. O seguinte sinalizador pode ser definido:
MAPI_DEFERRED_ERRORS
Permite que CreateAttach retorne com êxito, possivelmente antes que o anexo esteja totalmente acessível ao cliente de chamada. Se o anexo não estiver acessível, fazer uma chamada subsequente a ele poderá resultar em um erro.
lpulAttachmentNum
[out] Ponteiro para um número de índice que identifica o anexo recém-criado. Esse número é válido somente quando a mensagem está aberta e é a base para a propriedade PR_ATTACH_NUM do anexo (PidTagAttachNumber).
lppAttach
[out] Ponteiro para um ponteiro para o objeto de anexo aberto.
Valor de retorno
S_OK
O anexo foi criado com êxito.
Comentários
O método IMessage::CreateAttach cria um novo anexo em uma mensagem. O novo anexo e todas as propriedades definidas para ele não estão disponíveis até que um cliente tenha chamado o método IMAPIProp::SaveChanges do anexo e o método IMAPIProp::SaveChanges da mensagem.
O número de anexo apontado por lpulAttachmentNum é exclusivo e válido somente no contexto da mensagem. Ou seja, dois anexos em duas mensagens diferentes podem ter o mesmo número, enquanto dois anexos na mesma mensagem não podem.