Các hàm và cấu trúc dữ liệu của Simple MAPI API (SMAPI) cho phép chúng ta thêm các dịch vụ MAPI cho các ứng dụng Windows của mình . Mặc dù tập các SMAPI là khá nhỏ , nhưng nó đủ dùng cho các ứng dụng cần dịch vụ mail .
Có mười một hàm SMAPI API , như sau :
MAPILogon và MAPILogoff
MAPILogon và MAPILogoff là hai hàm cho phép ta bắt đầu và kết thúc một phiên làm việc với MAPI (MAPI session) .
Sau đây là bảng mô tả các thông số của hàm MAPILogon :
Table -4
|
Parametter |
Type |
Mô tả |
| UIParam | Long | Handle của window cha của dialog box . |
| User | String | User account name . Nếu là Null string thì sign-in dialog box sẽ hiện field nhập tên rỗng . |
| Password | String | User MAPI password . Nếu là Null string thì sign-in dialog box sẽ hiện field nhập password rỗng (hoặc không cần password). |
| Flags | Long | Mặt nạ
cờ .
Tuy nhiên có các cờ được định nghĩa sẳn như sau : MAPI_LOGON_UI : cần có dialog box xuất hiện để nhập tên và password MAPI_NEW_SESSION : cần tạo ra chầu làm việc mới (không dùng shared session) MAPI_FORCE_DOWNLOAD : cần tải xuống tất cả các thông điệp (nếu không MAPI sẽ tải thông điệp xuống trong chế độ nền , chú ý : OLE Messaging Library không hỗ trợ tính chất này) |
| Reserved | Long | Dành riêng cho tương lai . Có giá trị 0 |
| Session | Long | Giá trị session handle trả về bởi MAPI nếu logon thành công . Giá trị này được dùng trong các công việc sau này . |
Sau đây là cú pháp của hàm MAPILogon trong C :
ULONG FAR PASCAL MAPILogon
(ULONG ulUIParam,
LPTSTR lpszProfileName,
LPTSTR lpszPassword,
FLAGS flFlags,
ULONG ulReserved,
LPLHANDLE lplhSession)
Sau đây là bảng mô tả các thông số của hàm MAPILogoff :
Table -5
|
Parametter |
Type |
Mô tả |
| Session | Long | Giá trị session handle trả về bởi MAPI nếu đã logon thành công trước đó . |
| UIParam | Long | Handle của window cha của dialog box . |
| Flags | Long | Dành riêng cho tương lai . Có giá trị 0 |
| Reserved | Long | Dành riêng cho tương lai . Có giá trị 0 |
Sau đây là cú pháp của hàm MAPILogoff trong C :
ULONG FAR PASCAL MAPILogoff
(LHANDLE lhSession,
ULONG ulUIParam,
FLAGS flFlags,
ULONG ulReserved)