/* * MessageDeviceService.h * * Contains declarations for the Message Device Service * * Copyright (c) Microsoft Corporation, All Rights Reserved. * */ #ifndef _MESSAGEDEVICESERVICE_H_ #define _MESSAGEDEVICESERVICE_H_ #include /*****************************************************************************/ /* 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_ */