📄 mapidefs.h
字号:
ULONG ulRowCount, \
ULONG ulFlags, \
LPSRowSet FAR * lppRows, \
ULONG FAR * lpulMoreRows) IPURE; \
MAPIMETHOD(CollapseRow) \
(THIS_ ULONG cbInstanceKey, \
LPBYTE pbInstanceKey, \
ULONG ulFlags, \
ULONG FAR * lpulRowCount) IPURE; \
MAPIMETHOD(WaitForCompletion) \
(THIS_ ULONG ulFlags, \
ULONG ulTimeout, \
ULONG FAR * lpulTableStatus) IPURE; \
MAPIMETHOD(GetCollapseState) \
(THIS_ ULONG ulFlags, \
ULONG cbInstanceKey, \
LPBYTE lpbInstanceKey, \
ULONG FAR * lpcbCollapseState, \
LPBYTE FAR * lppbCollapseState) IPURE; \
MAPIMETHOD(SetCollapseState) \
(THIS_ ULONG ulFlags, \
ULONG cbCollapseState, \
LPBYTE pbCollapseState, \
BOOKMARK FAR * lpbkLocation) IPURE; \
#undef INTERFACE
#define INTERFACE IMAPITable
DECLARE_MAPI_INTERFACE_(IMAPITable, IUnknown)
{
BEGIN_INTERFACE
MAPI_IUNKNOWN_METHODS(PURE)
MAPI_IMAPITABLE_METHODS(PURE)
};
/* IProfSect Interface ----------------------------------------------------- */
/* Standard section for public profile properties */
#define PS_PROFILE_PROPERTIES_INIT \
{ 0x98, 0x15, 0xAC, 0x08, 0xAA, 0xB0, 0x10, 0x1A, \
0x8C, 0x93, 0x08, 0x00, 0x2B, 0x2A, 0x56, 0xC2 }
#define MAPI_IPROFSECT_METHODS(IPURE)
#undef INTERFACE
#define INTERFACE IProfSect
DECLARE_MAPI_INTERFACE_(IProfSect, IMAPIProp)
{
BEGIN_INTERFACE
MAPI_IUNKNOWN_METHODS(PURE)
MAPI_IMAPIPROP_METHODS(PURE)
MAPI_IPROFSECT_METHODS(PURE)
};
/* IMAPIStatus Interface --------------------------------------------------- */
/* Values for PR_RESOURCE_TYPE, _METHODS, _FLAGS */
#define MAPI_STORE_PROVIDER ((ULONG) 33) /* Message Store */
#define MAPI_AB ((ULONG) 34) /* Address Book */
#define MAPI_AB_PROVIDER ((ULONG) 35) /* Address Book Provider */
#define MAPI_TRANSPORT_PROVIDER ((ULONG) 36) /* Transport Provider */
#define MAPI_SPOOLER ((ULONG) 37) /* Message Spooler */
#define MAPI_PROFILE_PROVIDER ((ULONG) 38) /* Profile Provider */
#define MAPI_SUBSYSTEM ((ULONG) 39) /* Overall Subsystem Status */
#define MAPI_HOOK_PROVIDER ((ULONG) 40) /* Spooler Hook */
#define STATUS_VALIDATE_STATE ((ULONG) 0x00000001)
#define STATUS_SETTINGS_DIALOG ((ULONG) 0x00000002)
#define STATUS_CHANGE_PASSWORD ((ULONG) 0x00000004)
#define STATUS_FLUSH_QUEUES ((ULONG) 0x00000008)
#define STATUS_DEFAULT_OUTBOUND ((ULONG) 0x00000001)
#define STATUS_DEFAULT_STORE ((ULONG) 0x00000002)
#define STATUS_PRIMARY_IDENTITY ((ULONG) 0x00000004)
#define STATUS_SIMPLE_STORE ((ULONG) 0x00000008)
#define STATUS_XP_PREFER_LAST ((ULONG) 0x00000010)
#define STATUS_NO_PRIMARY_IDENTITY ((ULONG) 0x00000020)
#define STATUS_NO_DEFAULT_STORE ((ULONG) 0x00000040)
#define STATUS_TEMP_SECTION ((ULONG) 0x00000080)
#define STATUS_OWN_STORE ((ULONG) 0x00000100)
/****** HOOK_INBOUND ((ULONG) 0x00000200) Defined in MAPIHOOK.H */
/****** HOOK_OUTBOUND ((ULONG) 0x00000400) Defined in MAPIHOOK.H */
#define STATUS_NEED_IPM_TREE ((ULONG) 0x00000800)
#define STATUS_PRIMARY_STORE ((ULONG) 0x00001000)
#define STATUS_SECONDARY_STORE ((ULONG) 0x00002000)
/*
* PR_STATUS_CODE bit. Low 16 bits for common values; High 16 bits
* for provider type-specific values. (DCR 304)
*/
#define STATUS_AVAILABLE ((ULONG) 0x00000001)
#define STATUS_OFFLINE ((ULONG) 0x00000002)
#define STATUS_FAILURE ((ULONG) 0x00000004)
/* Transport values of PR_STATUS_CODE */
#define STATUS_INBOUND_ENABLED ((ULONG) 0x00010000)
#define STATUS_INBOUND_ACTIVE ((ULONG) 0x00020000)
#define STATUS_INBOUND_FLUSH ((ULONG) 0x00040000)
#define STATUS_OUTBOUND_ENABLED ((ULONG) 0x00100000)
#define STATUS_OUTBOUND_ACTIVE ((ULONG) 0x00200000)
#define STATUS_OUTBOUND_FLUSH ((ULONG) 0x00400000)
#define STATUS_REMOTE_ACCESS ((ULONG) 0x00800000)
/* ValidateState flags */
#define SUPPRESS_UI ((ULONG) 0x00000001)
#define REFRESH_XP_HEADER_CACHE ((ULONG) 0x00010000)
#define PROCESS_XP_HEADER_CACHE ((ULONG) 0x00020000)
#define FORCE_XP_CONNECT ((ULONG) 0x00040000)
#define FORCE_XP_DISCONNECT ((ULONG) 0x00080000)
#define CONFIG_CHANGED ((ULONG) 0x00100000)
#define ABORT_XP_HEADER_OPERATION ((ULONG) 0x00200000)
#define SHOW_XP_SESSION_UI ((ULONG) 0x00400000)
/* SettingsDialog flags */
#define UI_READONLY ((ULONG) 0x00000001)
/* FlushQueues flags */
#define FLUSH_UPLOAD ((ULONG) 0x00000002)
#define FLUSH_DOWNLOAD ((ULONG) 0x00000004)
#define FLUSH_FORCE ((ULONG) 0x00000008)
#define FLUSH_NO_UI ((ULONG) 0x00000010)
#define FLUSH_ASYNC_OK ((ULONG) 0x00000020)
#define MAPI_IMAPISTATUS_METHODS(IPURE) \
MAPIMETHOD(ValidateState) \
(THIS_ ULONG ulUIParam, \
ULONG ulFlags) IPURE; \
MAPIMETHOD(SettingsDialog) \
(THIS_ ULONG ulUIParam, \
ULONG ulFlags) IPURE; \
MAPIMETHOD(ChangePassword) \
(THIS_ LPTSTR lpOldPass, \
LPTSTR lpNewPass, \
ULONG ulFlags) IPURE; \
MAPIMETHOD(FlushQueues) \
(THIS_ ULONG ulUIParam, \
ULONG cbTargetTransport, \
LPENTRYID lpTargetTransport, \
ULONG ulFlags) IPURE; \
#undef INTERFACE
#define INTERFACE IMAPIStatus
DECLARE_MAPI_INTERFACE_(IMAPIStatus, IMAPIProp)
{
BEGIN_INTERFACE
MAPI_IUNKNOWN_METHODS(PURE)
MAPI_IMAPIPROP_METHODS(PURE)
MAPI_IMAPISTATUS_METHODS(PURE)
};
/* IMAPIContainer Interface ------------------------------------------------ */
/* Flags for OpenEntry() */
/****** MAPI_MODIFY ((ULONG) 0x00000001) above */
/****** MAPI_DEFERRED_ERRORS ((ULONG) 0x00000008) below */
#define MAPI_BEST_ACCESS ((ULONG) 0x00000010)
/* GetContentsTable() */
/****** MAPI_UNICODE ((ULONG) 0x80000000) above */
/****** MAPI_DEFERRED_ERRORS ((ULONG) 0x00000008) below */
/****** MAPI_ASSOCIATED ((ULONG) 0x00000040) below */
/* GetHierarchyTable() */
/****** MAPI_UNICODE ((ULONG) 0x80000000) above */
#define CONVENIENT_DEPTH ((ULONG) 0x00000001)
/****** MAPI_DEFERRED_ERRORS ((ULONG) 0x00000008) below */
/* GetSearchCriteria */
/****** MAPI_UNICODE ((ULONG) 0x80000000) above */
#define SEARCH_RUNNING ((ULONG) 0x00000001)
#define SEARCH_REBUILD ((ULONG) 0x00000002)
#define SEARCH_RECURSIVE ((ULONG) 0x00000004)
#define SEARCH_FOREGROUND ((ULONG) 0x00000008)
/* SetSearchCriteria */
#define STOP_SEARCH ((ULONG) 0x00000001)
#define RESTART_SEARCH ((ULONG) 0x00000002)
#define RECURSIVE_SEARCH ((ULONG) 0x00000004)
#define SHALLOW_SEARCH ((ULONG) 0x00000008)
#define FOREGROUND_SEARCH ((ULONG) 0x00000010)
#define BACKGROUND_SEARCH ((ULONG) 0x00000020)
#define MAPI_IMAPICONTAINER_METHODS(IPURE) \
MAPIMETHOD(GetContentsTable) \
(THIS_ ULONG ulFlags, \
LPMAPITABLE FAR * lppTable) IPURE; \
MAPIMETHOD(GetHierarchyTable) \
(THIS_ ULONG ulFlags, \
LPMAPITABLE FAR * lppTable) IPURE; \
MAPIMETHOD(OpenEntry) \
(THIS_ ULONG cbEntryID, \
LPENTRYID lpEntryID, \
LPCIID lpInterface, \
ULONG ulFlags, \
ULONG FAR * lpulObjType, \
LPUNKNOWN FAR * lppUnk) IPURE; \
MAPIMETHOD(SetSearchCriteria) \
(THIS_ LPSRestriction lpRestriction, \
LPENTRYLIST lpContainerList, \
ULONG ulSearchFlags) IPURE; \
MAPIMETHOD(GetSearchCriteria) \
(THIS_ ULONG ulFlags, \
LPSRestriction FAR * lppRestriction, \
LPENTRYLIST FAR * lppContainerList, \
ULONG FAR * lpulSearchState)IPURE; \
#undef INTERFACE
#define INTERFACE IMAPIContainer
DECLARE_MAPI_INTERFACE_(IMAPIContainer, IMAPIProp)
{
BEGIN_INTERFACE
MAPI_IUNKNOWN_METHODS(PURE)
MAPI_IMAPIPROP_METHODS(PURE)
MAPI_IMAPICONTAINER_METHODS(PURE)
};
/* 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.
*/
typedef struct _flaglist
{
ULONG cFlags;
ULONG ulFlag[MAPI_DIM];
} FlagList, FAR * LPFlagList;
/*
* Container flags
*/
#define AB_RECIPIENTS ((ULONG) 0x00000001)
#define AB_SUBCONTAINERS ((ULONG) 0x00000002)
#define AB_MODIFIABLE ((ULONG) 0x00000004)
#define AB_UNMODIFIABLE ((ULONG) 0x00000008)
#define AB_FIND_ON_OPEN ((ULONG) 0x00000010)
#define AB_NOT_DEFAULT ((ULONG) 0x00000020)
/* CreateEntry() */
#define CREATE_CHECK_DUP_STRICT ((ULONG) 0x00000001)
#define CREATE_CHECK_DUP_LOOSE ((ULONG) 0x00000002)
#define CREATE_REPLACE ((ULONG) 0x00000004)
/* ResolveNames() - ulFlags */
/****** MAPI_UNICODE ((ULONG) 0x80000000) above */
/* ResolveNames() - rgulFlags */
#define MAPI_UNRESOLVED ((ULONG) 0x00000000)
#define MAPI_AMBIGUOUS ((ULONG) 0x00000001)
#define MAPI_RESOLVED ((ULONG) 0x00000002)
#define MAPI_IABCONTAINER_METHODS(IPURE) \
MAPIMETHOD(CreateEntry) \
(THIS_ ULONG cbEntryID, \
LPENTRYID lpEntryID, \
ULONG ulCreateFlags, \
LPMAPIPROP FAR * lppMAPIPropEntry) IPURE; \
MAPIMETHOD(CopyEntries) \
(THIS_ LPENTRYLIST lpEntries, \
ULONG ulUIParam, \
LPMAPIPROGRESS lpProgress, \
ULONG ulFlags) IPURE; \
MAPIMETHOD(DeleteEntries) \
(THIS_ LPENTRYLIST lpEntries, \
ULONG ulFlags) IPURE; \
MAPIMETHOD(ResolveNames) \
(THIS_ LPSPropTagArray lpPropTagArray, \
ULONG ulFlags, \
LPADRLIST lpAdrList, \
LPFlagList lpFlagList) IPURE; \
#undef INTERFACE
#define INTERFACE IABContainer
DECLARE_MAPI_INTERFACE_(IABContainer, IMAPIContainer)
{
BEGIN_INTERFACE
MAPI_IUNKNOWN_METHODS(PURE)
MAPI_IMAPIPROP_METHODS(PURE)
MAPI_IMAPICONTAINER_METHODS(PURE)
MAPI_IABCONTAINER_METHODS(PURE)
};
/* 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.
*/
#define MAPI_SEND_NO_RICH_INFO ((ULONG) 0x00010000)
/* Values of PR_NDR_DIAG_CODE */
#define MAPI_DIAG(_code) ((LONG) _code)
#define MAPI_DIAG_NO_DIAGNOSTIC MAPI_DIAG( -1 )
#define MAPI_DIAG_OR_NAME_UNRECOGNIZED MAPI_DIAG( 0 )
#define MAPI_DIAG_OR_NAME_AMBIGUOUS MAPI_DIAG( 1 )
#define MAPI_DIAG_MTS_CONGESTED MAPI_DIAG( 2 )
#define MAPI_DIAG_LOOP_DETECTED MAPI_DIAG( 3 )
#define MAPI_DIAG_RECIPIENT_UNAVAILABLE MAPI_DIAG( 4 )
#define MAPI_DIAG_MAXIMUM_TIME_EXPIRED MAPI_DIAG( 5 )
#define MAPI_DIAG_EITS_UNSUPPORTED MAPI_DIAG( 6 )
#define MAPI_DIAG_CONTENT_TOO_LONG MAPI_DIAG( 7 )
#define MAPI_DIAG_IMPRACTICAL_TO_CONVERT MAPI_DIAG( 8 )
#define MAPI_DIAG_PROHIBITED_TO_CONVERT MAPI_DIAG( 9 )
#define MAPI_DIAG_CONVERSION_UNSUBSCRIBED MAPI_DIAG( 10 )
#define MAPI_DIAG_PARAMETERS_INVALID MAPI_DIAG( 11 )
#define MAPI_DIAG_CONTENT_SYNTAX_IN_ERROR MAPI_DIAG( 12 )
#define MAPI_DIAG_LENGTH_CONSTRAINT_VIOLATD MAPI_DIAG( 13 )
#define MAPI_DIAG_NUMBER_CONSTRAINT_VIOLATD MAPI_DIAG( 14 )
#define MAPI_DIAG_CONTENT_TYPE_UNSUPPORTED MAPI_DIAG( 15 )
#define MAPI_DIAG_TOO_MANY_RECIPIENTS MAPI_DIAG( 16 )
#define MAPI_DIAG_NO_BILATERAL_AGREEMENT MAPI_DIAG( 17 )
#define MAPI_DIAG_CRITICAL_FUNC_UNSUPPORTED MAPI_DIAG( 18 )
#define MAPI_DIAG_CONVERSION_LOSS_PROHIB MAPI_DIAG( 19 )
#define MAPI_DIAG_LINE_TOO_LONG MAPI_DIAG( 20 )
#define MAPI_DIAG_PAGE_TOO_LONG MAPI_DIAG( 21 )
#define MAPI_DIAG_PICTORIAL_SYMBOL_LOST MA
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -