twain3.0/3rdparty/ddk/messagedeviceservice.h

399 lines
10 KiB
C

/*
* MessageDeviceService.h
*
* Contains declarations for the Message Device Service
*
* Copyright (c) Microsoft Corporation, All Rights Reserved.
*
*/
#ifndef _MESSAGEDEVICESERVICE_H_
#define _MESSAGEDEVICESERVICE_H_
#include <DeviceServices.h>
/*****************************************************************************/
/* Message Service Info */
/*****************************************************************************/
DEFINE_DEVSVCGUID(SERVICE_Message,
0x29b43bd0, 0x6b16, 0x49af, 0xb7, 0x2e, 0x85, 0x77, 0x0a, 0xdf, 0xeb, 0xdd);
#define NAME_MessageSvc L"Message"
#define TYPE_MessageSvc DEVSVCTYPE_DEFAULT
/*****************************************************************************/
/* Message Service Object Formats */
/*****************************************************************************/
/* FORMAT_AbstractMessage
*
* MTP Format: Abstract Message (0xBB01)
* Suggested MIME Type:
*/
DEFINE_DEVSVCGUID(FORMAT_AbstractMessage,
0xBB010000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7);
#define NAME_AbstractMessage L"AbstractMessage"
/* FORMAT_AbstractMessageFolder
*
* MTP Format: Abstract Message Folder (0xBA07)
* Suggested MIME Type:
*/
DEFINE_DEVSVCGUID(FORMAT_AbstractMessageFolder,
0xBA070000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7);
#define NAME_AbstractMessageFolder L"AbstractMessageFolder"
/*****************************************************************************/
/* Message Service Object Property Keys */
/*****************************************************************************/
DEFINE_DEVSVCGUID(MESSAGESVC_OBJECT_PROPERTIES,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F);
/* MessageObj.Subject
*
* MTP Property: Subject (0xDCE2)
* Type: String/AUInt16
* Form: None/LongString
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_Subject,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
2);
#define NAME_MessageObj_Subject L"Subject"
/* MessageObj.Body
*
* MTP Property: Body Text (0xDCE1)
* Type: AUInt16
* Form: LongString
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_Body,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
3);
#define NAME_MessageObj_Body L"Body"
/* MessageObj.Priority
*
* Type: UInt16
* Form: Enum
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_Priority,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
4);
#define NAME_MessageObj_Priority L"Priority"
#define ENUM_MessageObj_PriorityHighest 2
#define ENUM_MessageObj_PriorityNormal 1
#define ENUM_MessageObj_PriorityLowest 0
/* MessageObj.Category
*
* MTP Property: ()
* Type: String/AUInt16
* Form: None/LongString
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_Category,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
10);
#define NAME_MessageObj_Category L"Category"
/* MessageObj.Sender
*
* MTP Property: Message Sender (0xDD45)
* Type: String/AUInt16
* Form: None/LongString
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_Sender,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
18);
#define NAME_MessageObj_Sender L"Sender"
/* MessageObj.To
*
* MTP Property: Message To (0xDD40)
* Type: AUInt16
* Form: LongString
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_To,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
20);
#define NAME_MessageObj_To L"To"
/* MessageObj.CC
*
* MTP Property: Message CC (0xDD41)
* Type: AUInt16
* Form: LongString
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_CC,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
21);
#define NAME_MessageObj_CC L"CC"
/* MessageObj.BCC
*
* MTP Property: Message BCC (0xDD42)
* Type: AUInt16
* Form: LongString
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_BCC,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
22);
#define NAME_MessageObj_BCC L"BCC"
/* MessageObj.Read
*
* MTP Property: Message Read (0xDD43)
* Type: UInt16
* Form: Enum
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_Read,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
23);
#define NAME_MessageObj_Read L"Read"
#define ENUM_MessageObj_ReadFalse 0x00
#define ENUM_MessageObj_ReadTrue 0xff
/* MessageObj.ReceivedTime
*
* MTP Property: Message Received Time (0xDD44)
* Type: String
* Form: DateTime
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_ReceivedTime,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
24);
#define NAME_MessageObj_ReceivedTime L"ReceivedTime"
/* MessageObj.PatternOriginalDateTime
*
* Contains the original UTC time that a recurring item was to take place.
*
* Type: String
* Form: DateTime
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_PatternOriginalDateTime,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
26);
#define NAME_MessageObj_PatternOriginalDateTime L"PatternOriginalDateTime"
/* MessageObj.PatternType
*
* Contains the pattern type of the recurring item.
*
* Type: UInt32
* Form: Enum
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_PatternType,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
27);
#define NAME_MessageObj_PatternType L"PatternType"
#define ENUM_MessageObj_PatternTypeDaily 0x00000001
#define ENUM_MessageObj_PatternTypeWeekly 0x00000002
#define ENUM_MessageObj_PatternTypeMonthly 0x00000003
#define ENUM_MessageObj_PatternTypeYearly 0x00000004
/* MessageObj.PatternValidStartDate
*
* Contains the first date on which the recurrence pattern is valid. The
* first instance of the recurring item is on or after this date. The date
* is in the time reference of the recurring item.
*
* Type: String
* Form: ISO 8601 Date
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_PatternValidStartDate,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
28);
#define NAME_MessageObj_PatternValidStartDate L"PatternValidStartDate"
/* MessageObj.PatternValidEndDate
*
* Contains the last date on which the recurrence pattern is valid. The
* last instance of the recurring item is on or before this date. The date
* is in the time reference of the recurring item.
*
* Type: String
* Form: ISO 8601 Date
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_PatternValidEndDate,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
29);
#define NAME_MessageObj_PatternValidEndDate L"PatternValidEndDate"
/* MessageObj.PatternPeriod
*
* Contains the period of the repeating recurrence pattern. The units of this
* property are determined by the value of MessageObj.PatternType.
*
* Type: UInt32
* Form: None
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_PatternPeriod,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
31);
#define NAME_MessageObj_PatternPeriod L"PatternPeriod"
/* MessageObj.PatternDayOfWeek
*
* Contains the day of week mask for weekly, monthly, and yearly recurrence
* patterns.
*
* Type: UInt16
* Form: None
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_PatternDayOfWeek,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
32);
#define NAME_MessageObj_PatternDayOfWeek L"PatternDayOfWeek"
#define FLAG_MessageObj_DayOfWeekNone 0x0000
#define FLAG_MessageObj_DayOfWeekSunday 0x0001
#define FLAG_MessageObj_DayOfWeekMonday 0x0002
#define FLAG_MessageObj_DayOfWeekTuesday 0x0004
#define FLAG_MessageObj_DayOfWeekWednesday 0x0008
#define FLAG_MessageObj_DayOfWeekThursday 0x0010
#define FLAG_MessageObj_DayOfWeekFriday 0x0020
#define FLAG_MessageObj_DayOfWeekSaturday 0x0040
/* MessageObj.PatternDayOfMonth
*
* Contains the day of the month for monthly and yearly recurrence patterns.
* If day specified is greater than the number of days in the month the
* value is interpreted as the last valid day of the month.
*
* Type: UInt8
* Form: Range
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_PatternDayOfMonth,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
33);
#define NAME_MessageObj_PatternDayOfMonth L"PatternDayOfMonth"
#define RANGEMIN_MessageObj_PatternDayOfMonth 1
#define RANGEMAX_MessageObj_PatternDayOfMonth 31
#define RANGESTEP_MessageObj_PatternDayOfMonth 1
/* MessageObj.PatternMonthOfYear
*
* Contains the month of the year for yearly recurrence patterns.
*
* Type: UInt8
* Form: Range
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_PatternMonthOfYear,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
34);
#define NAME_MessageObj_PatternMonthOfYear L"PatternMonthOfYear"
#define RANGEMIN_MessageObj_PatternMonthOfYear 1
#define RANGEMAX_MessageObj_PatternMonthOfYear 12
#define RANGESTEP_MessageObj_PatternMonthOfYear 1
/* MessageObj.PatternInstance
*
* Contains the instance of the recurring pattern that is to be matched.
*
* Type: UInt8
* Form: Enum
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_PatternInstance,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
35);
#define NAME_MessageObj_PatternInstance L"PatternInstance"
#define ENUM_MessageObj_PatternInstanceNone 0x00
#define ENUM_MessageObj_PatternInstanceFirst 0x01
#define ENUM_MessageObj_PatternInstanceSecond 0x02
#define ENUM_MessageObj_PatternInstanceThird 0x03
#define ENUM_MessageObj_PatternInstanceFourth 0x04
#define ENUM_MessageObj_PatternInstanceLast 0x05
/* MessageObj.PatternDeleteDates
*
* Contains a semi-colon separated list of the the dates on which instances
* of the recurring item have been deleted. Does not contain the original
* dates for items which have been moved. The date specified is in the
* time reference of the recurrence.
*
* Type: AUInt16
* Form: LongString
*/
DEFINE_DEVSVCPROPKEY(PKEY_MessageObj_PatternDeleteDates,
0xB28AE94B, 0x05A4, 0x4E8E, 0xBE, 0x01, 0x72, 0xCC, 0x7E, 0x09, 0x9D, 0x8F,
36);
#define NAME_MessageObj_PatternDeleteDates L"PatternDeleteDates"
#endif /* _MESSAGEDEVICESERVICE_H_ */