共用方式為


MapiFileDesc 結構 (mapi.h)

MapiFileDesc 結構包含包含儲存為臨時檔之郵件附件的檔案相關信息。 該檔案可以包含靜態 OLE 物件、內嵌的 OLE 物件、內嵌訊息,以及其他類型的檔案。 針對 Unicode 支援,請使用 MapiFileDescW 結構。

語法

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

成員

ulReserved

保留;必須是零。

flFlags

選項旗標的位掩碼。 您可以設定下列旗標。

意義
MAPI_OLE
附件是 OLE 物件。 如果同時設定MAPI_OLE_STATIC,附件就是靜態 OLE 物件。 如果未設定MAPI_OLE_STATIC,附件就是內嵌的 OLE 物件。
MAPI_OLE_STATIC
附件是靜態 OLE 物件。
 

如果兩個旗標都未設定,附件會被視為數據檔。

nPosition

用來指出訊息文字中要呈現附件位置的整數。 附件會取代郵件文字中位於特定位置的字元。 也就是說,附件會取代 MapiMessage 結構欄位 NoteText[nPosition] 中的字元。 值 -1 (0xFFFFFFFF) 表示未指出附件位置;用戶端應用程式必須提供一種方式,讓用戶能夠存取附件。

lpszPathName

附加檔案的完整路徑指標。 此路徑應包含磁碟驅動器號和目錄名稱。

lpszFileName

收件者所見附件檔名的指標,如果正在使用暫存盤, 則與 lpszPathName 成員中的檔名不同。 如果 lpszFileName 成員是空的或 NULL,則會使用 來自 lpszPathName 的檔名。

lpFileType

附件檔類型的指標,可使用 MapiFileTagExt 結構表示。 NULL 值表示未知的檔案類型或作業系統所決定的檔案類型。

備註

簡單的 MAPI 適用於三種內嵌附件:

  • 數據檔附件
  • 可編輯的 OLE 物件檔案附件
  • 靜態 OLE 物件檔附件
數據檔附件只是數據檔。 OLE 物件檔附件是訊息文字中顯示的 OLE 物件。 如果 OLE 附件是可編輯的,收件者可以按兩下它,而且其來源應用程式將會啟動以處理編輯會話。 如果 OLE 附件是靜態的,就無法編輯物件。 MapiFileDesc 結構之 flFlags 成員中設定的旗標會決定特定附件的類型。 內嵌訊息可由識別。 lpszFileName 成員中的 MSG 延伸模組。

OLE 物件檔是 OLE 對象資料流的檔案表示法。 用戶端應用程式可以使用讀取檔案內容的 OLESTREAM 物件呼叫 OLE 函式 OleLoadFromStream ,從檔案重新建立 OLE 物件。 如果輸出訊息中包含 OLE 檔案附件,則 OLE 對象數據流應該直接寫入做為附件的檔案。

使用 MapiFileDesc 成員 nPosition時,用戶端應用程式不應該將兩個附件放在相同的位置。 用戶端應用程式可能不會在訊息文字結尾以外的位置顯示檔案附件。

規格需求

需求
標頭 mapi.h

另請參閱

MapiFileDescW

MapiMessage

MapiMessageW