mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
4.0 KiB
127 lines
4.0 KiB
/*
|
|
* XCMCMSX2.H
|
|
*
|
|
* Purpose:
|
|
* Specifies constants and data structures for Microsoft CMC extensions
|
|
* set update (forms extensions)
|
|
*
|
|
*/
|
|
|
|
#ifndef _XCMCMSX2_H
|
|
#define _XCMCMSX2_H
|
|
|
|
#ifndef XCMCMSXT_H
|
|
# include <xcmcmsxt.h>
|
|
#endif
|
|
|
|
#ifndef MAPIDEFS_H
|
|
# include <mapidefs.h>
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define CMC_XS_MS2 ((CMC_uint32) MS_EXT_SET_ID + 256)
|
|
|
|
/*** FUNCTION EXTENSIONS ***/
|
|
|
|
/* Allow application to navigate the folder hierarchy */
|
|
#define CMC_X_MS_FOLDERS ((CMC_uint32) MS_EXT_SET_ID + 257)
|
|
#define CMC_X_MS_EXCLUDE_MESSAGES ((CMC_flags) 1)
|
|
#define CMC_X_MS_FOLDER_LIST ((CMC_flags) 2)
|
|
#define CMC_X_MS_FOLDER_ID ((CMC_flags) 4)
|
|
#define CMC_X_MS_PARENT_FOLDER_ID ((CMC_flags) 8)
|
|
|
|
/* Allow creation of a new folder in an existing folder */
|
|
#define CMC_X_MS_FOLDER_CREATE ((CMC_uint32) MS_EXT_SET_ID + 258)
|
|
|
|
/* Allow deletion of a folder */
|
|
#define CMC_X_MS_FOLDER_DELETE ((CMC_uint32) MS_EXT_SET_ID + 259)
|
|
#define CMC_X_MS_DEL_MESSAGES ((CMC_flags) 1)
|
|
#define CMC_X_MS_DEL_FOLDERS ((CMC_flags) 2)
|
|
|
|
/* Allow access to specific message or recipient properties */
|
|
#define CMC_X_MS_MAPI_PROPS ((CMC_uint32) MS_EXT_SET_ID + 260)
|
|
#define CMC_X_MS_GET_PROPS ((CMC_flags) 1)
|
|
#define CMC_X_MS_SET_PROPS ((CMC_flags) 2)
|
|
#define CMC_X_MS_GET_PROP_NAMES ((CMC_flags) 4)
|
|
#define CMC_X_MS_GET_PROP_IDS ((CMC_flags) 8)
|
|
|
|
#define Prop_Val_Union union _PV
|
|
|
|
/* Property value structure for CMC_X_MS_MAPI_PROPS */
|
|
typedef struct {
|
|
CMC_string prop_name;
|
|
CMC_uint32 prop_id;
|
|
CMC_uint32 reserved;
|
|
Prop_Val_Union prop_value;
|
|
CMC_uint32 prop_error;
|
|
} CMC_X_MS_PROPVAL;
|
|
|
|
/* Provide a stream interface for working with large properties */
|
|
#define CMC_X_MS_MAPI_PROP_STREAM ((CMC_uint32) MS_EXT_SET_ID + 261)
|
|
#define CMC_X_MS_STREAM_OPEN ((CMC_uint32) 0)
|
|
#define CMC_X_MS_STREAM_SEEK ((CMC_uint32) 1)
|
|
#define CMC_X_MS_STREAM_READ ((CMC_uint32) 2)
|
|
#define CMC_X_MS_STREAM_WRITE ((CMC_uint32) 3)
|
|
#define CMC_X_MS_STREAM_CLOSE ((CMC_uint32) 4)
|
|
#define CMC_X_MS_CREATE ((CMC_flags) 1)
|
|
#define CMC_X_MS_MODIFY ((CMC_flags) 2)
|
|
#define CMC_X_MS_SEEK_CUR ((CMC_flags) 1)
|
|
#define CMC_X_MS_SEEK_SET ((CMC_flags) 2)
|
|
#define CMC_X_MS_SEEK_END ((CMC_flags) 4)
|
|
|
|
/* Stream data structure for CMC_X_MS_PROP_STREAM */
|
|
typedef struct {
|
|
CMC_string prop_name;
|
|
CMC_uint32 prop_id;
|
|
CMC_buffer stream;
|
|
CMC_uint32 count;
|
|
CMC_uint32 flags;
|
|
CMC_buffer data;
|
|
} CMC_X_MS_STREAM;
|
|
|
|
/* Initialize CMC session on top of existing MAPI session */
|
|
#define CMC_X_MS_USE_MAPI_SESSION ((CMC_uint32) MS_EXT_SET_ID + 262)
|
|
|
|
/* Get an extended MAPI session from a CMC session */
|
|
#ifdef MAPIX_H
|
|
|
|
STDMETHODIMP_(SCODE)
|
|
ScMAPIXFromCMC(CMC_session_id cmc_session,
|
|
ULONG ulFlags,
|
|
LPCIID lpInterface,
|
|
LPMAPISESSION FAR * lppMAPISession);
|
|
|
|
#endif /* MAPIX_H */
|
|
|
|
/* Address message attachment within CMC */
|
|
#define CMC_X_MS_ATTACHMENT_ID ((CMC_uint32) MS_EXT_SET_ID + 263)
|
|
|
|
/*** DATA EXTENSIONS ***/
|
|
|
|
/* Extra flags for CMC_X_MS_SESSION_FLAGS */
|
|
#define CMC_X_MS_ALLOW_OTHERS ((CMC_flags) 8)
|
|
#define CMC_X_MS_EXPLICIT_PROFILE ((CMC_flags) 16)
|
|
#define CMC_X_MS_USE_DEFAULT ((CMC_flags) 32)
|
|
#define CMC_X_MS_EXTENDED ((CMC_flags) 64)
|
|
#define CMC_X_MS_LOGOFF_SHARED ((CMC_flags) 128)
|
|
#define CMC_X_MS_LOGOFF_UI ((CMC_flags) 256)
|
|
|
|
/* Extra flag for CMC_X_MS_ATTACH_DATA */
|
|
#define CMC_X_MS_ATTACH_MESSAGE ((CMC_flags) 4)
|
|
|
|
/* Attachment descriptor for CMC_X_ATTACH_DATA */
|
|
typedef struct {
|
|
CMC_message_reference FAR *message;
|
|
CMC_uint32 id;
|
|
CMC_buffer object;
|
|
} CMC_X_MS_ATTACH;
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* _XCMCMSX2_H */
|
|
|