mapidefs.pas

来自「Drag files and Drop to delphi forms 0402」· PAS 代码 · 共 2,456 行 · 第 1/5 页

PAS
2,456
字号

{ Values for PR_RESOURCE_TYPE, _METHODS, _FLAGS }

const
  MAPI_STORE_PROVIDER = ULONG(33)      { Message Store }
  ;
  MAPI_AB = ULONG(34)                  { Address Book }
  ;
  MAPI_AB_PROVIDER = ULONG(35)         { Address Book Provider }
  ;
  MAPI_TRANSPORT_PROVIDER = ULONG(36)  { Transport Provider }
  ;
  MAPI_SPOOLER = ULONG(37)             { Message Spooler }
  ;
  MAPI_PROFILE_PROVIDER = ULONG(38)    { Profile Provider }
  ;
  MAPI_SUBSYSTEM = ULONG(39)           { Overall Subsystem Status }
  ;
  MAPI_HOOK_PROVIDER = ULONG(40)       { Spooler Hook }
  ;
  STATUS_VALIDATE_STATE = ULONG($00000001);
  STATUS_SETTINGS_DIALOG = ULONG($00000002);
  STATUS_CHANGE_PASSWORD = ULONG($00000004);
  STATUS_FLUSH_QUEUES = ULONG($00000008);
  STATUS_DEFAULT_OUTBOUND = ULONG($00000001);
  STATUS_DEFAULT_STORE = ULONG($00000002);
  STATUS_PRIMARY_IDENTITY = ULONG($00000004);
  STATUS_SIMPLE_STORE = ULONG($00000008);
  STATUS_XP_PREFER_LAST = ULONG($00000010);
  STATUS_NO_PRIMARY_IDENTITY = ULONG($00000020);
  STATUS_NO_DEFAULT_STORE = ULONG($00000040);
  STATUS_TEMP_SECTION = ULONG($00000080);
  STATUS_OWN_STORE = ULONG($00000100);
  
  {***** HOOK_INBOUND            ((ULONG) 0x00000200) Defined in MAPIHOOK.H }
  
  {***** HOOK_OUTBOUND           ((ULONG) 0x00000400) Defined in MAPIHOOK.H }
  
  STATUS_NEED_IPM_TREE = ULONG($00000800);
  STATUS_PRIMARY_STORE = ULONG($00001000);
  STATUS_SECONDARY_STORE = ULONG($00002000);
  
  (*
   * PR_STATUS_CODE bit. Low 16 bits for common values; High 16 bits
   * for provider type-specific values. (DCR 304)
   *)
  
  STATUS_AVAILABLE = ULONG($00000001);
  STATUS_OFFLINE = ULONG($00000002);
  STATUS_FAILURE = ULONG($00000004);
  
  { Transport values of PR_STATUS_CODE }
  
  STATUS_INBOUND_ENABLED = ULONG($00010000);
  STATUS_INBOUND_ACTIVE = ULONG($00020000);
  STATUS_INBOUND_FLUSH = ULONG($00040000);
  STATUS_OUTBOUND_ENABLED = ULONG($00100000);
  STATUS_OUTBOUND_ACTIVE = ULONG($00200000);
  STATUS_OUTBOUND_FLUSH = ULONG($00400000);
  STATUS_REMOTE_ACCESS = ULONG($00800000);
  
  { ValidateState flags }
  
  SUPPRESS_UI = ULONG($00000001);
  REFRESH_XP_HEADER_CACHE = ULONG($00010000);
  PROCESS_XP_HEADER_CACHE = ULONG($00020000);
  FORCE_XP_CONNECT = ULONG($00040000);
  FORCE_XP_DISCONNECT = ULONG($00080000);
  CONFIG_CHANGED = ULONG($00100000);
  ABORT_XP_HEADER_OPERATION = ULONG($00200000);
  SHOW_XP_SESSION_UI = ULONG($00400000);
  
  { SettingsDialog flags }
  
  UI_READONLY = ULONG($00000001);
  
  { FlushQueues flags }
  
  FLUSH_UPLOAD = ULONG($00000002);
  FLUSH_DOWNLOAD = ULONG($00000004);
  FLUSH_FORCE = ULONG($00000008);
  FLUSH_NO_UI = ULONG($00000010);
  FLUSH_ASYNC_OK = ULONG($00000020);

type
  IMAPIStatus =
    interface(IMAPIProp)
    [strIID_IMAPIStatus]
      function ValidateState (ulUIParam : ULONG; ulFlags : ULONG) : HResult; stdcall;
      function SettingsDialog (ulUIParam : ULONG; ulFlags : ULONG) : HResult; stdcall;
      function ChangePassword (lpOldPass : PChar; lpNewPass : PChar; ulFlags : ULONG) : HResult; stdcall;
      function FlushQueues (ulUIParam : ULONG; cbTargetTransport : ULONG; 
        lpTargetTransport : PENTRYID; ulFlags : ULONG) : HResult; stdcall;
    end;
  
{ IMAPIContainer Interface ------------------------------------------------ }

{ Flags for OpenEntry() }

{***** MAPI_MODIFY             ((ULONG) 0x00000001) above }

{***** MAPI_DEFERRED_ERRORS    ((ULONG) 0x00000008) below }
  
const
  MAPI_BEST_ACCESS = ULONG($00000010);
  
  { GetContentsTable() }
  
  {***** MAPI_UNICODE            ((ULONG) 0x80000000) above }
  
  {***** MAPI_DEFERRED_ERRORS    ((ULONG) 0x00000008) below }
  
  {***** MAPI_ASSOCIATED         ((ULONG) 0x00000040) below }
  
  { GetHierarchyTable() }
  
  {***** MAPI_UNICODE            ((ULONG) 0x80000000) above }
  
  CONVENIENT_DEPTH = ULONG($00000001);
  
  {***** MAPI_DEFERRED_ERRORS    ((ULONG) 0x00000008) below }
  
  { GetSearchCriteria }
  
  {***** MAPI_UNICODE            ((ULONG) 0x80000000) above }
  
  SEARCH_RUNNING = ULONG($00000001);
  SEARCH_REBUILD = ULONG($00000002);
  SEARCH_RECURSIVE = ULONG($00000004);
  SEARCH_FOREGROUND = ULONG($00000008);
  
  { SetSearchCriteria }
  
  STOP_SEARCH = ULONG($00000001);
  RESTART_SEARCH = ULONG($00000002);
  RECURSIVE_SEARCH = ULONG($00000004);
  SHALLOW_SEARCH = ULONG($00000008);
  FOREGROUND_SEARCH = ULONG($00000010);
  BACKGROUND_SEARCH = ULONG($00000020);

type
  IMAPIContainer =
    interface(IMAPIProp)
    [strIID_IMAPIContainer]
      function GetContentsTable (ulFlags : ULONG; var lppTable : IMAPITable) : HResult; stdcall;
      function GetHierarchyTable (ulFlags : ULONG; var lppTable : IMAPITable) : HResult; stdcall;
      function OpenEntry (cbEntryID : ULONG; lpEntryID : PENTRYID; const lpInterface : TIID; 
        ulFlags : ULONG; var lpulObjType : ULONG; var lppUnk : IUnknown) : HResult; stdcall;
      function SetSearchCriteria (lpRestriction : PSRestriction; 
        lpContainerList : PENTRYLIST; ulSearchFlags : ULONG) : HResult; stdcall;
      function GetSearchCriteria (ulFlags : ULONG; var lppRestriction : PSRestriction; 
        var lppContainerList : PENTRYLIST; var lpulSearchState : ULONG) : HResult; stdcall;
    end;
  
{ IABContainer Interface -------------------------------------------------- }

(*
 *  IABContainer PR_CONTAINER_FLAGS values
 *  If AB_UNMODIFIABLE and AB_MODIFIABLE are both set, it means the container
 *  doesn't know if it's modifiable or not, and the client should
 *  try to modify the contents but we won't expect it to work.
 *  If the AB_RECIPIENTS flag is set and neither AB_MODIFIABLE or AB_UNMODIFIABLE
 *  bits are set, it is an error.
 *)
  
  TFlagList =     
    record
      cFlags : ULONG;
      ulFlag : array[0..MAPI_DIM - 1] of ULONG;
    end;
    
  PFlagList = ^TFlagList;
  
(*
 *  Container flags
 *)

const
  AB_RECIPIENTS = ULONG($00000001);
  AB_SUBCONTAINERS = ULONG($00000002);
  AB_MODIFIABLE = ULONG($00000004);
  AB_UNMODIFIABLE = ULONG($00000008);
  AB_FIND_ON_OPEN = ULONG($00000010);
  AB_NOT_DEFAULT = ULONG($00000020);

{ CreateEntry() }

const
  CREATE_CHECK_DUP_STRICT = ULONG($00000001);
  CREATE_CHECK_DUP_LOOSE = ULONG($00000002);
  CREATE_REPLACE = ULONG($00000004);

{ ResolveNames() - ulFlags }

{***** MAPI_UNICODE            ((ULONG) 0x80000000) above }

{ ResolveNames() - rgulFlags }

const
  MAPI_UNRESOLVED = ULONG($00000000);
  MAPI_AMBIGUOUS = ULONG($00000001);
  MAPI_RESOLVED = ULONG($00000002);

type
  IABContainer =
    interface(IMAPIContainer)
    [strIID_IABContainer]
      function CreateEntry (cbEntryID : ULONG; lpEntryID : PENTRYID;
        ulCreateFlags : ULONG; var lppMAPIPropEntry : IMAPIProp) : HResult; stdcall;
      function CopyEntries (lpEntries : PENTRYLIST; ulUIParam : ULONG; 
        lpProgress : IMAPIProgress; ulFlags : ULONG) : HResult; stdcall;
      function DeleteEntries (lpEntries : PENTRYLIST; ulFlags : ULONG) : HResult; stdcall;
      function ResolveNames (lpPropTagArray : PSPropTagArray; ulFlags : ULONG; 
        lpAdrList : PADRLIST; lpFlagList : PFlagList) : HResult; stdcall;
    end;
  
{ IMailUser Interface ----------------------------------------------------- }

{  Any call which can create a one-off entryID (i.e. MAPISupport::CreateOneOff
   or IAdrBook::CreateOneOff) can encode the value for PR_SEND_RICH_INFO by
   passing in the following flag in the ulFlags parameter.  Setting this flag
   indicates that PR_SEND_RICH_INFO will be FALSE.
}
  
const
  MAPI_SEND_NO_RICH_INFO = ULONG($00010000);
  
  { Values of PR_NDR_DIAG_CODE }

  MAPI_DIAG_NO_DIAGNOSTIC = -1;
  MAPI_DIAG_OR_NAME_UNRECOGNIZED = 0;
  MAPI_DIAG_OR_NAME_AMBIGUOUS = 1;
  MAPI_DIAG_MTS_CONGESTED = 2;
  MAPI_DIAG_LOOP_DETECTED = 3;
  MAPI_DIAG_RECIPIENT_UNAVAILABLE = 4;
  MAPI_DIAG_MAXIMUM_TIME_EXPIRED = 5;
  MAPI_DIAG_EITS_UNSUPPORTED = 6;
  MAPI_DIAG_CONTENT_TOO_LONG = 7;
  MAPI_DIAG_IMPRACTICAL_TO_CONVERT = 8;
  MAPI_DIAG_PROHIBITED_TO_CONVERT = 9;
  MAPI_DIAG_CONVERSION_UNSUBSCRIBED = 10;
  MAPI_DIAG_PARAMETERS_INVALID = 11;
  MAPI_DIAG_CONTENT_SYNTAX_IN_ERROR = 12;
  MAPI_DIAG_LENGTH_CONSTRAINT_VIOLATD = 13;
  MAPI_DIAG_NUMBER_CONSTRAINT_VIOLATD = 14;
  MAPI_DIAG_CONTENT_TYPE_UNSUPPORTED = 15;
  MAPI_DIAG_TOO_MANY_RECIPIENTS = 16;
  MAPI_DIAG_NO_BILATERAL_AGREEMENT = 17;
  MAPI_DIAG_CRITICAL_FUNC_UNSUPPORTED = 18;
  MAPI_DIAG_CONVERSION_LOSS_PROHIB = 19;
  MAPI_DIAG_LINE_TOO_LONG = 20;
  MAPI_DIAG_PAGE_TOO_LONG = 21;
  MAPI_DIAG_PICTORIAL_SYMBOL_LOST = 22;
  MAPI_DIAG_PUNCTUATION_SYMBOL_LOST = 23;
  MAPI_DIAG_ALPHABETIC_CHARACTER_LOST = 24;
  MAPI_DIAG_MULTIPLE_INFO_LOSSES = 25;
  MAPI_DIAG_REASSIGNMENT_PROHIBITED = 26;
  MAPI_DIAG_REDIRECTION_LOOP_DETECTED = 27;
  MAPI_DIAG_EXPANSION_PROHIBITED = 28;
  MAPI_DIAG_SUBMISSION_PROHIBITED = 29;
  MAPI_DIAG_EXPANSION_FAILED = 30;
  MAPI_DIAG_RENDITION_UNSUPPORTED = 31;
  MAPI_DIAG_MAIL_ADDRESS_INCORRECT = 32;
  MAPI_DIAG_MAIL_OFFICE_INCOR_OR_INVD = 33;
  MAPI_DIAG_MAIL_ADDRESS_INCOMPLETE = 34;
  MAPI_DIAG_MAIL_RECIPIENT_UNKNOWN = 35;
  MAPI_DIAG_MAIL_RECIPIENT_DECEASED = 36;
  MAPI_DIAG_MAIL_ORGANIZATION_EXPIRED = 37;
  MAPI_DIAG_MAIL_REFUSED = 38;
  MAPI_DIAG_MAIL_UNCLAIMED = 39;
  MAPI_DIAG_MAIL_RECIPIENT_MOVED = 40;
  MAPI_DIAG_MAIL_RECIPIENT_TRAVELLING = 41;
  MAPI_DIAG_MAIL_RECIPIENT_DEPARTED = 42;
  MAPI_DIAG_MAIL_NEW_ADDRESS_UNKNOWN = 43;
  MAPI_DIAG_MAIL_FORWARDING_UNWANTED = 44;
  MAPI_DIAG_MAIL_FORWARDING_PROHIB = 45;
  MAPI_DIAG_SECURE_MESSAGING_ERROR = 46;
  MAPI_DIAG_DOWNGRADING_IMPOSSIBLE = 47;

  { Values of PR_DELIVERY_POINT (MH_T_DELIVERY_POINT) }
  
  MAPI_MH_DP_PUBLIC_UA = ULONG(0);
  MAPI_MH_DP_PRIVATE_UA = ULONG(1);
  MAPI_MH_DP_MS = ULONG(2);
  MAPI_MH_DP_ML = ULONG(3);
  MAPI_MH_DP_PDAU = ULONG(4);
  MAPI_MH_DP_PDS_PATRON = ULONG(5);
  MAPI_MH_DP_OTHER_AU = ULONG(6);

{ IMAPIFolder Interface --------------------------------------------------- }

{ IMAPIFolder folder type (enum) }
  
const
  FOLDER_ROOT = ULONG($00000000);
  FOLDER_GENERIC = ULONG($00000001);
  FOLDER_SEARCH = ULONG($00000002);
  
  { CreateMessage }
  
  {***** MAPI_DEFERRED_ERRORS    ((ULONG) 0x00000008) below }
  
  {***** MAPI_ASSOCIATED         ((ULONG) 0x00000040) below }
  
  { CopyMessages }
  
  MESSAGE_MOVE = ULONG($00000001);
  MESSAGE_DIALOG = ULONG($00000002);
  
  {***** MAPI_DECLINE_OK         ((ULONG) 0x00000004) above }
  
  { CreateFolder }
  
  OPEN_IF_EXISTS = ULONG($00000001);
  
  {***** MAPI_DEFERRED_ERRORS    ((ULONG) 0x00000008) below }
  
  {***** MAPI_UNICODE            ((ULONG) 0x80000000) above }
  
  { DeleteFolder }
  
  DEL_MESSAGES = ULONG($00000001);
  FOLDER_DIALOG = ULONG($00000002);
  DEL_FOLDERS = ULONG($00000004);
  
  { EmptyFolder }
  
  DEL_ASSOCIATED = ULONG($00000008);
  
  { CopyFolder }
  
  FOLDER_MOVE = ULONG($00000001);
  
  {***** FOLDER_DIALOG           ((ULONG) 0x00000002) above }
  
  {***** MAPI_DECLINE_OK         ((ULONG) 0x00000004) above }
  
  COPY_SUBFOLDERS = ULONG($00000010);
  
  {***** MAPI_UNICODE            ((ULONG) 0x80000000) above }

  { SetReadFlags }
  
  {***** SUPPRESS_RECEIPT        ((ULONG) 0x00000001) below }
  
  {***** FOLDER_DIALOG           ((ULONG) 0x00000002) above }
  
  {***** CLEAR_READ_FLAG         ((ULONG) 0x00000004) below }
  
  {***** MAPI_DEFERRED_ERRORS    ((ULONG) 0x00000008) below }
  
  {***** GENERATE_RECEIPT_ONLY   ((ULONG) 0x00000010) below }
  
  {***** CLEAR_RN_PENDING        ((ULONG) 0x00000020) below }
  
  {***** CLEAR_NRN_PENDING       ((ULONG) 0x00000040) below }
  
  { GetMessageStatus }
  
  MSGSTATUS_HIGHLIGHTED = ULONG($00000001);
  MSGSTATUS_TAGGED = ULONG($00000002);
  MSGSTATUS_HIDDEN = ULONG($00000004);
  MSGSTATUS_DELMARKED = ULONG($00000008);
  
  { Bits for remote message status }
  
  MSGSTATUS_REMOTE_DOWNLOAD = ULONG($00001000);
  MSGSTATUS_REMOTE_DELETE = ULONG($00002000);
  
  { SaveContentsSort }
  
  RECURSIVE_SORT = ULONG($00000002);
  
  { PR_STATUS property }
  
  FLDSTATUS_HIGHLIGHTED = ULONG($00000001);
  FLDSTATUS_TAGGED = ULONG($00000002);
  FLDSTATUS_HIDDEN = ULONG($00000004);
  FLDSTATUS_DELMARKED = ULONG($00000008);

{ IMessage Interface ------------------------------------------------------ }

{ SubmitMessage }
  
const
  FORCE_SUBMIT = ULONG($00000001);
  
  { Flags defined in PR_MESSAGE_FLAGS }
  
  MSGFLAG_READ = ULONG($00000001);
  MSGFLAG_UNMODIFIED = ULONG($00000002);
  MSGFLAG_SUBMIT = ULONG($00000004);
  MSGFLAG_UNSENT = ULONG($00000008);
  MSGFLAG_HASATTACH = ULONG($00000010);
  MSGFLAG_FROMME = ULONG($00000020);
  MSGFLAG_ASSOCIATED = ULONG($00000040);
  MSGFLAG_RESEND = ULONG($00000080);
  MSGFLAG_RN_PENDING = ULONG($00000100);
  MSGFLAG_NRN_PENDING = ULONG($00000200);
  
  { Flags defined in PR_SUBMIT_FLAGS }

  SUBMITFLAG_LOCKED = ULONG($00000001);
  SUBMITFLAG_PREPROCESS = ULONG($00000002);
  
  { GetAttachmentTable() }
  
  {***** MAPI_UNICODE            ((ULONG) 0x80000000) above }
  
  { GetRecipientTable() }
  
  {***** MAPI_UNICODE            ((ULONG) 0x80000000) above }
  
  { ModifyRecipients }
  
  { ((ULONG) 0x00000001 is not a valid flag on ModifyRecipients. }
  
  MODRECIP_ADD = ULONG($00000002);
  MODRECIP_MODIFY = ULONG($00000004);
  MODRECIP_REMOVE = ULONG($00000008);
  
  { SetReadFlag }
  
  SUPPRESS_RECEIPT = ULONG($00000001);
  CLEAR_READ_FLAG = ULONG($00000004);
  
  {***** MAPI_DEFERRED_ERRORS    ((ULONG) 0x00000008) below }
  
  GENERATE_RECEIPT_ONLY = ULONG($00000010);
  CLEAR_RN_PENDING = ULONG($00000020);
  CLEAR_NRN_PENDING = ULONG($00000040);
  
  { DeleteAttach }
  
  ATTACH_DIALOG = ULONG($00000001);
  
  { PR_SECURITY values }
  
  SECURITY_SIGNED = ULONG($00000001);
  SECURITY_ENCRYPTED = ULONG($00000002);
  
  { PR_PRIORITY values }
  
  PRIO_URGENT = Longint(1);
  PRIO_NORMAL = Longint(0);
  PRIO_NONURGENT = Longint(-1);
  
  { PR_SENSITIVITY values }
  
  SENSITIVITY_NONE = ULONG($00000000);
  SENSITIVITY_PERSONAL = ULONG($00000001);
  SENSITIVITY_PRIVATE = ULONG($00000002);
  SENSITIVITY_COMPANY_CONFIDENTIAL = ULONG($00000003);
  
  { PR_IMPORTANCE values }
  
  IMPORTANCE_LOW = Longint(0);
  IMPORTANCE_NORMAL = Longint(1);
  IMPORTANCE_HIGH = Longint(2);

{ IMsgStore Interface ----------------------------------------------------- }

{  PR_STORE_SUPPORT_MASK bits }
  
const
  STORE_ENTRYID_UNIQUE = ULONG($00000001);
  STORE_READONLY = ULONG($00000002);
  STORE_SEARCH_OK = ULONG($00000004);
  STORE_MODIFY_OK = ULONG($00000008);
  STORE_CREATE_OK = ULONG($00000010);
  STORE_ATTACH_OK = ULONG($00000020);
  STORE_OLE_OK = ULONG($00000040);
  STORE_SUBMIT_OK = ULONG($00000080);
  STORE_NOTIFY_OK = ULONG($00000100);
  STORE_MV_PROPS_OK = ULONG($00000200);
  STORE_CATEGORIZE_OK = ULONG($00000400);
  STORE_RTF_OK = ULONG($00000800);
  STORE_RESTRICTION_OK = ULONG($00001000);
  STORE_SORT_OK = ULONG($00002000);
  STORE_PUBLIC_FOLDERS = ULONG($00004000);
  STORE_UNCOMPRESSED_RTF = ULONG($00008000);
  
  { PR_STORE_STATE bits, try not to collide with PR_STORE_SUPPORT_MASK }

  STORE_HAS_SEARCHES = ULONG($01000000);
  
  { OpenEntry() }
  
  {***** MAPI_MODIFY             ((ULONG) 0x00000001) above }
  
  {***** MAPI_DEFERRED_ERRORS    ((ULONG) 0x00000008) below }
  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?