namespace SabreTools.Data.Models.OLE { /// /// The PropertyIdentifier data type represents the property identifier of a property in a property set /// /// /// The SummaryInformation property set format, identified by FMTID_SummaryInformation /// ({F29F85E0-4FF9-1068-AB91-08002B27B3D9}), represents generic properties of a document. The properties /// specific to the SummaryInformation property set are specified in the following table. Except where /// otherwise stated, a SummaryInformation property set SHOULD have all of these properties, and SHOULD /// NOT have any other properties, except for the special properties specified in section 2.18. /// /// public enum PropertyIdentifier : uint { /// /// Property identifier for the Dictionary property /// DICTIONARY_PROPERTY_IDENTIFIER = 0x00000000, /// /// Property identifier for the CodePage property /// CODEPAGE_PROPERTY_IDENTIFIER = 0x00000001, /// /// Property identifier for the Locale property /// LOCALE_PROPERTY_IDENTIFIER = 0x80000000, /// /// Property identifier for the Behavior property /// BEHAVIOR_PROPERTY_IDENTIFIER = 0x80000003, #region SummaryInformation /// /// The title of the document. /// /// VT_LPSTR PIDSI_TITLE = 0x00000002, /// /// The subject of the document. /// /// VT_LPSTR PIDSI_SUBJECT = 0x00000003, /// /// The author of the document. /// /// VT_LPSTR PIDSI_AUTHOR = 0x00000004, /// /// Keywords related to the document. /// /// VT_LPSTR PIDSI_KEYWORDS = 0x00000005, /// /// Comments related the document. /// /// VT_LPSTR PIDSI_COMMENTS = 0x00000006, /// /// The application-specific template from which the document was created. /// /// VT_LPSTR PIDSI_TEMPLATE = 0x00000007, /// /// The last author of the document. /// /// VT_LPSTR PIDSI_LASTAUTHOR = 0x00000008, /// /// An application-specific revision number for this version of the document. /// /// VT_LPSTR PIDSI_REVNUMBER = 0x00000009, /// /// A 64-bit unsigned integer indicating the total amount of time that /// has been spent editing the document in 100-nanosecond /// increments. MUST be encoded as a FILETIME by setting the /// dwLowDataTime field to the low 32-bits and the dwHighDateTime /// field to the high 32-bits. /// /// VT_FILETIME PIDSI_EDITTIME = 0x0000000A, /// /// The most recent time that the document was printed. /// /// VT_FILETIME PIDSI_LASTPRINTED = 0x0000000B, /// /// The time that the document was created. /// /// VT_FILETIME PIDSI_CREATE_DTM = 0x0000000C, /// /// The most recent time that the document was saved. /// /// VT_FILETIME PIDSI_LASTSAVE_DTM = 0x0000000D, /// /// The total number of pages in the document. /// /// VT_I4 PIDSI_PAGECOUNT = 0x0000000E, /// /// The total number of words in the document. /// /// VT_I4 PIDSI_WORDCOUNT = 0x0000000F, /// /// The total number of characters in the document. /// /// VT_I4 PIDSI_CHARCOUNT = 0x00000010, /// /// Application-specific clipboard data containing a thumbnail /// representing the document's contents. MAY be absent. /// /// VT_CF PIDSI_THUMBNAIL = 0x00000011, /// /// The name of the application that was used to create the document. /// /// VT_LPSTR PIDSI_APPNAME = 0x00000012, /// /// A 32-bit signed integer representing a set of application-suggested /// access control flags with the following values: /// - 0x00000001: Password protected /// - 0x00000002: Read-only recommended /// - 0x00000004: Read-only enforced /// - 0x00000008: Locked for annotations /// /// VT_I4 PIDSI_DOC_SECURITY = 0x00000013, #endregion } /// /// The PropertyType enumeration represents the type of a property in a property set. The set of types /// supported depends on the version of the property set, which is indicated by the Version field of the /// PropertySetStream packet. In addition, the property types not supported in simple property sets /// are specified as such. PropertyType is an enumeration, which MUST be one of the following values /// /// public enum PropertyType : ushort { /// /// Type is undefined, and the minimum property set version is 0 /// VT_EMPTY = 0x0000, /// /// Type is null, and the minimum property set version is 0 /// VT_NULL = 0x0001, /// /// Type is 16-bit signed integer, and the minimum property set version is 0 /// VT_I2 = 0x0002, /// /// Type is 32-bit signed integer, and the minimum property set version is 0. /// VT_I4 = 0x0003, /// /// Type is 4-byte (single-precision) IEEE floating-point number, and the /// minimum property set version is 0. /// VT_R4 = 0x0004, /// /// Type is 8-byte (double-precision) IEEE floating-point number, and the /// minimum property set version is 0. /// VT_R8 = 0x0005, /// /// Type is CURRENCY, and the minimum property set version is 0. /// VT_CY = 0x0006, /// /// Type is DATE, and the minimum property set version is 0. /// VT_DATE = 0x0007, /// /// Type is CodePageString, and the minimum property set version is 0. /// VT_BSTR = 0x0008, /// /// Type is HRESULT, and the minimum property set version is 0. /// VT_ERROR = 0x000A, /// /// Type is VARIANT_BOOL, and the minimum property set version is 0. /// VT_BOOL = 0x000B, /// /// Type is DECIMAL, and the minimum property set version is 0. /// VT_DECIMAL = 0x000E, /// /// Type is 1-byte signed integer, and the minimum property set version /// is 1. /// VT_I1 = 0x0010, /// /// Type is 1-byte unsigned integer, and the minimum property set version /// is 0. /// VT_UI1 = 0x0011, /// /// Type is 2-byte unsigned integer, and the minimum property set version /// is 0. /// VT_UI2 = 0x0012, /// /// Type is 4-byte unsigned integer, and the minimum property set version /// is 0. /// VT_UI4 = 0x0013, /// /// Type is 8-byte signed integer, and the minimum property set version /// is 0. /// VT_I8 = 0x0014, /// /// Type is 8-byte unsigned integer, and the minimum property set version /// is 0. /// VT_UI8 = 0x0015, /// /// Type is 4-byte signed integer, and the minimum property set version /// is 1. /// VT_INT = 0x0016, /// /// Type is 4-byte unsigned integer, and the minimum property set version /// is 1. /// VT_UINT = 0x0017, /// /// Type is CodePageString, and the minimum property set version is 0. /// VT_LPSTR = 0x001E, /// /// Type is UnicodeString, and the minimum property set version is 0. /// VT_LPWSTR = 0x001F, /// /// Type is FILETIME, and the minimum property set version is 0. /// VT_FILETIME = 0x0040, /// /// Type is binary large object (BLOB), and the minimum property set /// version is 0. /// VT_BLOB = 0x0041, /// /// Type is Stream, and the minimum property set version is 0. VT_STREAM /// is not allowed in a simple property set. /// VT_STREAM = 0x0042, /// /// Type is Storage, and the minimum property set version is 0. VT_STORAGE /// is not allowed in a simple property set. /// VT_STORAGE = 0x0043, /// /// Type is Stream representing an Object in an application-specific manner, /// and the minimum property set version is 0. VT_STREAMED_Object is not /// allowed in a simple property set. /// VT_STREAMED_Object = 0x0044, /// /// Type is Storage representing an Object in an application-specific manner, /// and the minimum property set version is 0. VT_STORED_Object is not /// allowed in a simple property set. /// VT_STORED_Object = 0x0045, /// /// Type is BLOB representing an object in an application-specific manner. /// The minimum property set version is 0. /// VT_BLOB_Object = 0x0046, /// /// Type is PropertyIdentifier, and the minimum property set version is 0. /// VT_CF = 0x0047, /// /// Type is CLSID, and the minimum property set version is 0. /// VT_CLSID = 0x0048, /// /// Type is Stream with application-specific version GUID (VersionedStream). /// The minimum property set version is 0. VT_VERSIONED_STREAM is not allowed /// in a simple property set. /// VT_VERSIONED_STREAM = 0x0049, /// /// Type is Vector, and the minimum property set version is 0 /// VT_VECTOR = 0x1000, /// /// Type is Vector of 1-byte unsigned integers, and the minimum property set version /// is 0. /// VT_VECTOR_UI1 = 0x1011, /// /// Type is Vector of 2-byte unsigned integers, and the minimum property set version /// is 0. /// VT_VECTOR_UI2 = 0x1012, /// /// Type is Vector of 4-byte unsigned integers, and the minimum property set version /// is 0. /// VT_VECTOR_UI4 = 0x1013, /// /// Type is Vector of 8-byte signed integers, and the minimum property set version /// is 0. /// VT_VECTOR_I8 = 0x1014, /// /// Type is Vector of 8-byte unsigned integers and the minimum property set version /// is 0. /// VT_VECTOR_UI8 = 0x1015, /// /// Type is Vector of CodePageString, and the minimum property set version is 0. /// VT_VECTOR_LPSTR = 0x101E, /// /// Type is Vector of UnicodeString, and the minimum property set version is 0. /// VT_VECTOR_LPWSTR = 0x101F, /// /// Type is Vector of FILETIME, and the minimum property set version is 0. /// VT_VECTOR_FILETIME = 0x1040, /// /// Type is Vector of PropertyIdentifier, and the minimum property set version is 0. /// VT_VECTOR_CF = 0x1047, /// /// Type is Vector of CLSID, and the minimum property set version is 0. /// VT_VECTOR_CLSID = 0x1048, /// /// Type is Array of 16-bit signed integers, and the minimum property set version /// is 1. /// VT_ARRAY_I2 = 0x2002, /// /// Type is Array of 32-bit signed integers, and the minimum property set version /// is 1. /// VT_ARRAY_I4 = 0x2003, /// /// Type is Array of 4-byte (single-precision) IEEE floating-point numbers, and the /// minimum property set version is 1. /// VT_ARRAY_R4 = 0x2004, /// /// Type is IEEE floating-point numbers, and the minimum property set version is 1. /// VT_ARRAY_R8 = 0x2005, /// /// Type is Array of CURRENCY, and the minimum property set version is 1. /// VT_ARRAY_CY = 0x2006, /// /// Type is Array of DATE, and the minimum property set version is 1. /// VT_ARRAY_DATE = 0x2007, /// /// Type is Array of CodePageString, and the minimum property set version is 1. /// VT_ARRAY_BSTR = 0x2008, /// /// Type is Array of HRESULT, and the minimum property set version is 1. /// VT_ARRAY_ERROR = 0x200A, /// /// Type is Array of VARIANT_BOOL, and the minimum property set version is 1. /// VT_ARRAY_BOOL = 0x200B, /// /// Type is Array of variable-typed properties, and the minimum property set /// version is 1 /// VT_ARRAY_VARIANT = 0x200C, /// /// Type is Array of DECIMAL, and the minimum property set version is 1 /// VT_ARRAY_DECIMAL = 0x200E, /// /// Type is Array of 1-byte signed integers, and the minimum property set /// version is 1 /// VT_ARRAY_I1 = 0x2010, /// /// Type is Array of 1-byte unsigned integers, and the minimum property set /// version is 1 /// VT_ARRAY_UI1 = 0x2011, /// /// Type is Array of 2-byte unsigned integers, and the minimum property set /// version is 1. /// VT_ARRAY_UI2 = 0x2012, /// /// Type is Array of 4-byte unsigned integers, and the minimum property set /// version is 1. /// VT_ARRAY_UI4 = 0x2013, /// /// Type is Array of 4-byte signed integers, and the minimum property set version /// is 1. /// VT_ARRAY_INT = 0x2016, /// /// Type is Array of 4-byte unsigned integers, and the minimum property set version /// is 1. /// VT_ARRAY_UINT = 0x2017, } }