/// <summary>
/// A null session handle.
/// </summary>
public readonly IntPtr lhSessionNull = IntPtr.Zero;
/// <summary>
/// Indicates the original sender of the message.
/// </summary>
public const uint MAPI_ORIG = 0;
/// <summary>
/// Indicates a primary message recipient.
/// </summary>
public const uint MAPI_TO = 1;
/// <summary>
/// Indicates a recipient of a message copy.
/// </summary>
public const uint MAPI_CC = 2;
/// <summary>
/// Indicates a recipient of a blind copy.
/// </summary>
public const uint MAPI_BCC = 3;
/// <summary>
/// The message has not been read.
/// </summary>
public const uint MAPI_UNREAD = 0x00000001;
/// <summary>
/// A receipt notification is requested.
///
/// Client applications set this flag when sending a message.
/// </summary>
public const uint MAPI_RECEIPT_REQUESTED = 0x00000002;
/// <summary>
/// The message has been sent.
/// </summary>
public const uint MAPI_SENT = 0x00000004;
/// <summary>
/// A logon dialog box should be displayed to prompt the user for logon information.
///
/// If the user needs to provide a password and profile name to enable a successful logon,
/// MAPI_LOGON_UI must be set.
/// </summary>
public const uint MAPI_LOGON_UI = 0x00000001;
/// <summary>
/// MAPILogon should only prompt for a password and not allow the user to change the profile name.
///
/// Either MAPI_PASSWORD_UI or MAPI_LOGON_UI should not be set, since the intent is
/// to select between two different dialog boxes for logon.
/// </summary>
public const uint MAPI_PASSWORD_UI = 0x00020000;
/// <summary>
/// An attempt should be made to create a new session rather than acquire the environment's shared session.
///
/// If the MAPI_NEW_SESSION flag is not set, MAPILogon uses an existing shared session.
/// </summary>
public const uint MAPI_NEW_SESSION = 0x00000002;
/// <summary>
/// An attempt should be made to download all of the user's messages before returning. I
///
/// If the MAPI_FORCE_DOWNLOAD flag is not set, messages can be downloaded in the background
/// after the function call returns.
/// </summary>
public const uint MAPI_FORCE_DOWNLOAD = 0x00001000;
/// <summary>
/// Log on with extended capabilities.
///
/// This flag indicates an Extended MAPI session will be created.
/// </summary>
public const uint MAPI_EXTENDED = 0x00000020;
/// <summary>
/// A dialog box should be displayed to prompt the user for recipients and other sending options.
///
/// When MAPI_DIALOG is not set, at least one recipient must be specified.
/// </summary>
public const uint MAPI_DIALOG = 0x00000008;
/// <summary>
/// Only unread messages of the specified type should be enumerated.
///
/// If this flag is not set, MAPIFindNext can return any message of the specified type.
/// </summary>
public const uint MAPI_UNREAD_ONLY = 0x00000020;
/// <summary>
/// The attachment is an OLE object.
/// If MAPI_OLE_STATIC is also set, the attachment is a static OLE object.
/// If MAPI_OLE_STATIC is not set, the attachment is an embedded OLE object.
/// </summary>
public const uint MAPI_OLE = 0x00000001;
/// <summary>
/// The attachment is a static OLE object.
/// </summary>
public const uint MAPI_OLE_STATIC = 0x00000002;
/// <summary>
/// The message identifiers returned should be in the order of time received.
/// MAPIFindNext calls can take longer if this flag is set.
/// Some implementations cannot honor this request and return the MAPI_E_NOT_SUPPORTED value.
/// </summary>
public const uint MAPI_GUARANTEE_FIFO = 0x00000100;
/// <summary>
/// The returned message identifier can be as long as 512 characters.
///
/// If this flag is set, the lpszMessageID parameter must be large enough to accomodate 512 characters.
///
/// Older versions of MAPI supported smaller message identifiers (64 bytes) and did not include this flag.
/// MAPIFindNext will succeed without this flag set as long as lpszMessageID is large enough
/// to hold the message identifier. If lpszMessageID cannot hold the message identifier,
/// MAPIFindNext will fail.
/// </summary>
public const uint MAPI_LONG_MSGID = 0x00004000;
/// <summary>
/// MAPIReadMail does not mark the message as read.
///
/// Marking a message as read affects its appearance in the user interface and generates a read receipt.
///
/// If the messaging system does not support this flag, MAPIReadMail always marks the
/// message as read. If MAPIReadMail encounters an error, it leaves the message unread.
/// </summary>
public const uint MAPI_PEEK = 0x00000080;
/// <summary>
/// MAPIReadMail should not copy file attachments but should write message text into the
/// MapiMessage structure.
///
/// MAPIReadMail ignores this flag if the calling application has set the
/// MAPI_ENVELOPE_ONLY flag. Setting the MAPI_SUPPRESS_ATTACH flag enhances performance.
/// </summary>
public const uint MAPI_SUPPRESS_ATTACH = 0x00000800;
/// <summary>
/// MAPIReadMail should read the message header only.
///
/// File attachments are not copied to temporary files, and neither temporary file names nor message
/// text is written. Setting this flag enhances performance.
/// </summary>
public const uint MAPI_ENVELOPE_ONLY = 0x00000040;
/// <summary>
/// MAPIReadMail should write the message text to a temporary file
/// and add it as the first attachment in the attachment list.
/// </summary>
public const uint MAPI_BODY_AS_FILE = 0x00000200;
/// <summary>
/// The caller is requesting that the dialog box be read-only, prohibiting changes.
///
/// MAPIDetails might or might not honor the request.
/// </summary>
public const uint MAPI_AB_NOMODIFY = 0x00000400;
/// <summary>
/// The call succeeded.
/// </summary>
public const uint MAPI_SUCCESS_SUCCESS = 0;
/// <summary>
/// The user canceled one of the dialog boxes.
/// </summary>
public const uint MAPI_USER_ABORT = 1;
/// <summary>
/// The user canceled one of the dialog boxes.
/// </summary>
public const uint MAPI_E_USER_ABORT = MAPI_USER_ABORT;
/// <summary>
/// One or more unspecified errors occurred.
/// </summary>
public const uint MAPI_E_FAILURE = 2;
/// <summary>
/// There was no default logon, and the user failed to log on successfully when the logon dialog box
/// was displayed.
/// </summary>
public const uint MAPI_E_LOGON_FAILURE = 3;
/// <summary>
/// There was no default logon, and the user failed to log on successfully when the logon dialog box
/// was displayed.
/// </summary>
public const uint MAPI_E_LOGIN_FAILURE = MAPI_E_LOGON_FAILURE;
/// <summary>
/// A file could not be written because there was not enough space on the disk.
/// </summary>
public const uint MAPI_E_DISK_FULL = 4;
/// <summary>
/// There was insufficient memory to proceed.
/// </summary>
public const uint MAPI_E_INSUFFICIENT_MEMORY = 5;
/// <summary>
/// Access to the MAPI client was denied.
/// </summary>
public const uint MAPI_E_ACCESS_DENIED = 6;
/// <summary>
/// The user had too many sessions open simultaneously.
/// </summary>
public const uint MAPI_E_TOO_MANY_SESSIONS = 8;
/// <summary>
/// There were too many file attachments.
/// </summary>
public const uint MAPI_E_TOO_MANY_FILES = 9;
/// <summary>
/// There were too many recipients.
/// </summary>
public const uint MAPI_E_TOO_MANY_RECIPIENTS = 10;
/// <summary>
/// The specified attachment was not found.
/// </summary>
public const uint MAPI_E_ATTACHMENT_NOT_FOUND = 11;
/// <summary>
/// The specified attachment could not be opened.
/// </summary>
public const uint MAPI_E_ATTACHMENT_OPEN_FAILURE = 12;
/// <summary>
/// An attachment could not be written to a temporary file.
/// </summary>
public const uint MAPI_E_ATTACHMENT_WRITE_FAILURE = 13;
/// <summary>
/// A recipient did not appear in the address list.
/// </summary>
public const uint MAPI_E_UNKNOWN_RECIPIENT = 14;
/// <summary>
/// The type of a recipient was not MAPI_TO, MAPI_CC, or MAPI_BCC.
/// </summary>
public const uint MAPI_E_BAD_RECIPTYPE = 15;
/// <summary>
/// A matching message could not be found.
/// </summary>
public const uint MAPI_E_NO_MESSAGES = 16;
/// <summary>
/// An invalid message identifier was passed.
/// </summary>
public const uint MAPI_E_INVALID_MESSAGE = 17;
/// <summary>
/// The text in the message was too large.
/// </summary>
public const uint MAPI_E_TEXT_TOO_LARGE = 18;
/// <summary>
/// An invalid session handle was used.
/// </summary>
public const uint MAPI_E_INVALID_SESSION = 19;
/// <summary>
/// An unsupported type was passed.
/// </summary>
public const uint MAPI_E_TYPE_NOT_SUPPORTED = 20;
/// <summary>
/// A recipient matched more than one of the recipient descriptor structures.
/// </summary>
public const uint MAPI_E_AMBIGUOUS_RECIPIENT = 21;
/// <summary>
/// A recipient matched more than one of the recipient descriptor structures.
/// </summary>
public const uint MAPI_E_AMBIG_RECIP = MAPI_E_AMBIGUOUS_RECIPIENT;
/// <summary>
/// The specified message was in use by another session or process.
/// </summary>
public const uint MAPI_E_MESSAGE_IN_USE = 22;
/// <summary>
/// A non-specific networking failure occurred.
/// </summary>
public const uint MAPI_E_NETWORK_FAILURE = 23;
/// <summary>
/// The value of the nEditFields parameter was outside the range of 0 through 4.
/// </summary>
public const uint MAPI_E_INVALID_EDITFIELDS = 24;
/// <summary>
/// One or more recipients were invalid or did not resolve to any address.
/// </summary>
public const uint MAPI_E_INVALID_RECIPS = 25;
/// <summary>
/// The operation was not supported by the underlying messaging system.
/// </summary>
public const uint MAPI_E_NOT_SUPPORTED = 26;
Please add!
None.