Share via


Estrutura MapiFileDesc (mapi.h)

Uma estrutura MapiFileDesc contém informações sobre um arquivo que contém um anexo de mensagem armazenado como um arquivo temporário. Esse arquivo pode conter um objeto OLE estático, um objeto OLE inserido, uma mensagem inserida e outros tipos de arquivos. Para suporte a Unicode, use a estrutura MapiFileDescW .

Sintaxe

typedef struct {
  ULONG  ulReserved;
  ULONG  flFlags;
  ULONG  nPosition;
  LPSTR  lpszPathName;
  LPSTR  lpszFileName;
  LPVOID lpFileType;
} MapiFileDesc, *lpMapiFileDesc;

Membros

ulReserved

Reservados; deve ser zero.

flFlags

Máscara de bits de sinalizadores de opção. Os sinalizadores a seguir podem ser definidos.

Valor Significado
MAPI_OLE
O anexo é um objeto OLE. Se MAPI_OLE_STATIC também estiver definido, o anexo será um objeto OLE estático. Se MAPI_OLE_STATIC não estiver definido, o anexo será um objeto OLE inserido.
MAPI_OLE_STATIC
O anexo é um objeto OLE estático.
 

Se nenhum sinalizador for definido, o anexo será tratado como um arquivo de dados.

nPosition

Um inteiro usado para indicar onde no texto da mensagem para renderizar o anexo. Os anexos substituem o caractere encontrado em uma determinada posição no texto da mensagem. Ou seja, os anexos substituem o caractere no campo de estrutura MapiMessageNoteText[nPosition]. Um valor de -1 (0xFFFFFFFF) significa que a posição do anexo não é indicada; o aplicativo cliente terá que fornecer uma maneira de o usuário acessar o anexo.

lpszPathName

Ponteiro para o caminho totalmente qualificado do arquivo anexado. Esse caminho deve incluir a letra da unidade de disco e o nome do diretório.

lpszFileName

Ponteiro para o nome do arquivo de anexo visto pelo destinatário, que pode ser diferente do nome do arquivo no membro lpszPathName se os arquivos temporários estiverem sendo usados. Se o membro lpszFileName estiver vazio ou NULL, o nome do arquivo de lpszPathName será usado.

lpFileType

Ponteiro para o tipo de arquivo de anexo, que pode ser representado com uma estrutura MapiFileTagExt . Um valor NULL indica um tipo de arquivo desconhecido ou um tipo de arquivo determinado pelo sistema operacional.

Comentários

O MAPI simples funciona com três tipos de anexos inseridos:

  • Anexos de arquivo de dados
  • Anexos de arquivo de objeto OLE editável
  • Anexos de arquivo de objeto OLE estático
Anexos de arquivo de dados são simplesmente arquivos de dados. Anexos de arquivo de objeto OLE são objetos OLE exibidos no texto da mensagem. Se o anexo OLE for editável, o destinatário poderá clicar duas vezes nele e seu aplicativo de origem será iniciado para manipular a sessão de edição. Se o anexo OLE for estático, o objeto não poderá ser editado. O sinalizador definido no membro flFlags da estrutura MapiFileDesc determina o tipo de um anexo específico. As mensagens inseridas podem ser identificadas por um . Extensão MSG no membro lpszFileName .

Arquivos de objeto OLE são representações de arquivo de fluxos de objeto OLE. O aplicativo cliente pode recriar um objeto OLE do arquivo chamando a função OleLoadFromStream do OLE com um objeto OLESTREAM que lê o conteúdo do arquivo. Se um anexo de arquivo OLE estiver incluído em uma mensagem de saída, o fluxo de objeto OLE deverá ser gravado diretamente no arquivo usado como anexo.

Ao usar o membro mapiFileDescnPosition, o aplicativo cliente não deve colocar dois anexos no mesmo local. Os aplicativos cliente podem não exibir anexos de arquivo em posições além do final do texto da mensagem.

Requisitos

Requisito Valor
Cabeçalho mapi.h

Confira também

MapiFileDescW

MapiMessage

MapiMessageW