mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-09-22 14:55:11 +00:00
OLE model cleanup
This commit is contained in:
@@ -4,7 +4,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// The ArrayDimension packet represents the size and index offset of a dimension of an array
|
||||
/// property type.
|
||||
/// </summary>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
public class ArrayDimension
|
||||
{
|
||||
/// <summary>
|
||||
|
||||
@@ -3,7 +3,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// <summary>
|
||||
/// The ArrayHeader packet represents the type and dimensions of an array property type.
|
||||
/// </summary>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
public class ArrayHeader
|
||||
{
|
||||
/// <summary>
|
||||
@@ -20,10 +20,10 @@ namespace SabreTools.Data.Models.OLE
|
||||
|
||||
/// <summary>
|
||||
/// MUST be a sequence of ArrayDimension packets
|
||||
///
|
||||
///
|
||||
/// The number of scalar values in an array property can be calculated from the ArrayHeader packet
|
||||
/// as the product of the Size fields of each of the ArrayDimension packets.
|
||||
/// </summary>
|
||||
public ArrayDimension[]? Dimensions { get; set; }
|
||||
public ArrayDimension[] Dimensions { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// The CURRENCY (Packet Version) packet represents a CURRENCY as specified in [MS-OAUT]
|
||||
/// section 2.2.24.
|
||||
/// </summary>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
public class CURRENCY
|
||||
{
|
||||
/// <summary>
|
||||
|
||||
@@ -4,7 +4,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// The CodePageString packet represents a string whose encoding depends on the
|
||||
/// value of the property set's CodePage property.
|
||||
/// </summary>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
public class CodePageString
|
||||
{
|
||||
/// <summary>
|
||||
@@ -28,6 +28,6 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// implementation SHOULD NOT write strings with embedded or trailing null characters unless
|
||||
/// specifically requested to do so by an application.
|
||||
/// </summary>
|
||||
public string? Characters { get; set; }
|
||||
public string Characters { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,4 +87,4 @@ namespace SabreTools.Data.Models.OLE
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// stream binding MUST have a control stream, which is an alternate stream with the name
|
||||
/// "{4c8cc155-6c1e-11d1-8e41-00c04fb9386d}". This stream MUST contain the following packet.
|
||||
/// </summary>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
public class ControlStream
|
||||
{
|
||||
/// <summary>
|
||||
@@ -30,6 +30,6 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// OLEPS implementation. If the application did not provide a value,
|
||||
/// it SHOULD be absent.
|
||||
/// </summary>
|
||||
public GUID? CLSID { get; set; }
|
||||
public GUID CLSID { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// The DATE (Packet Version) packet represents a DATE as specified in [MS-OAUT]
|
||||
/// section 2.2.25
|
||||
/// </summary>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
public class DATE
|
||||
{
|
||||
/// <summary>
|
||||
|
||||
@@ -4,7 +4,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// The DECIMAL (Packet Version) packet represents a DECIMAL as specified in [MS-OAUT] section
|
||||
/// 2.2.26
|
||||
/// </summary>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
public class DECIMAL
|
||||
{
|
||||
/// <summary>
|
||||
|
||||
@@ -4,7 +4,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// The Dictionary packet represents all mappings between property identifiers and
|
||||
/// property names in a property set
|
||||
/// </summary>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
public class Dictionary
|
||||
{
|
||||
/// <summary>
|
||||
@@ -16,7 +16,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// All Entry fields MUST be a sequence of DictionaryEntry packets. Entries are
|
||||
/// not required to appear in any particular order.
|
||||
/// </summary>
|
||||
public DictionaryEntry[]? Entries { get; set; }
|
||||
public DictionaryEntry[] Entries { get; set; }
|
||||
|
||||
// Padding (variable): Padding, if necessary, to a total length that is a multiple of 4 bytes.
|
||||
// Padding would be after each dictionary entry
|
||||
|
||||
@@ -4,7 +4,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// The DictionaryEntry packet represents a mapping between a property identifier and a
|
||||
/// property name
|
||||
/// </summary>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
public class DictionaryEntry
|
||||
{
|
||||
/// <summary>
|
||||
@@ -30,6 +30,6 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// 8-bit characters from the code page identified by the CodePage property and MUST
|
||||
/// NOT be padded.
|
||||
/// </summary>
|
||||
public string? Name { get; set; }
|
||||
public string Name { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// 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.
|
||||
/// </remarks>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
public enum PropertyIdentifier : uint
|
||||
{
|
||||
/// <summary>
|
||||
@@ -162,7 +162,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// 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
|
||||
/// </summary>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
public enum PropertyType : ushort
|
||||
{
|
||||
/// <summary>
|
||||
|
||||
@@ -3,7 +3,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// <summary>
|
||||
/// The FILETIME (Packet Version) packet represents a FILETIME structure ([MS-DTYP] section 2.3.3
|
||||
/// </summary>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
public class FILETIME
|
||||
{
|
||||
/// <summary>
|
||||
|
||||
@@ -9,11 +9,11 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// Augmented Backus–Naur Form (ABNF) [RFC4234] syntax.
|
||||
///
|
||||
/// Indirectproperty = "prop" propertyIdentifier
|
||||
///
|
||||
///
|
||||
/// Where PropertyIdentifier is the decimal string representation of the property identifier. This property
|
||||
/// identifier MUST be a valid PropertyIdentifier value and MUST NOT be the property identifier for any of
|
||||
/// the special properties specified in section 2.18.
|
||||
/// </summary>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
public class IndirectPropertyName : CodePageString { }
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// The PropertyIdentifierAndOffset packet is used in the PropertySet packet to represent a
|
||||
/// property identifier and the byte offset of the property in the PropertySet packet
|
||||
/// </summary>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
public class PropertyIdentifierAndOffset
|
||||
{
|
||||
/// <summary>
|
||||
|
||||
@@ -3,7 +3,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// <summary>
|
||||
/// The PropertySet packet represents a property set.
|
||||
/// </summary>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
public class PropertySet
|
||||
{
|
||||
/// <summary>
|
||||
@@ -24,13 +24,13 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// in any particular order with regard to the value of the PropertyIdentifier
|
||||
/// field.
|
||||
/// </summary>
|
||||
public PropertyIdentifierAndOffset[]? PropertyIdentifierAndOffsets { get; set; }
|
||||
public PropertyIdentifierAndOffset[] PropertyIdentifierAndOffsets { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Each Property field is a sequence of property values, each of which MUST
|
||||
/// be represented by a TypedPropertyValue packet or a Dictionary packet in
|
||||
/// the special case of the Dictionary property.
|
||||
/// </summary>
|
||||
public object[]? Properties { get; set; }
|
||||
public object[] Properties { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,17 +5,17 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// sets and the stream format for the CONTENTS stream in the Non-Simple Property
|
||||
/// Set Storage Format. A simple property set MUST be represented by a stream
|
||||
/// containing a PropertySetStream packet.
|
||||
///
|
||||
///
|
||||
/// The PropertySetStream packet usually represents exactly one property set, but
|
||||
/// for historical reasons, the DocumentSummaryInfo and UserDefinedProperties
|
||||
/// property sets are represented in the same stream.In this special case, a
|
||||
/// PropertySetStream might represent two property sets.
|
||||
///
|
||||
///
|
||||
/// An implementation SHOULD enforce a limit on the total size of a PropertySetStream
|
||||
/// packet. This limit MUST be at least 262,144 bytes, and for maximum interoperability
|
||||
/// SHOULD be 2,097,152 bytes.
|
||||
/// </summary>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
public class PropertySetStream
|
||||
{
|
||||
/// <summary>
|
||||
@@ -32,7 +32,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// - Property types not supported for version 0 property sets, as specified in
|
||||
/// the PropertyType enumeration.
|
||||
/// - The Behavior property.
|
||||
///
|
||||
///
|
||||
/// If the property set does not use any of these features, this field SHOULD be
|
||||
/// set to 0x0000 for maximum interoperability.
|
||||
/// </summary>
|
||||
@@ -50,12 +50,12 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// the property set (or property sets). If no CLSID is provided by the
|
||||
/// application, it SHOULD be set to GUID_NULL by default.
|
||||
/// </summary>
|
||||
public GUID? CLSID { get; set; }
|
||||
public GUID CLSID { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// An unsigned integer indicating the number of property sets represented by
|
||||
/// this PropertySetStream structure. MUST be either 0x00000001 or 0x00000002.
|
||||
///
|
||||
///
|
||||
/// - 0x00000001: This structure contains one property set
|
||||
/// - 0x00000002: This structure contains two property sets.
|
||||
/// The optional fields for PropertySet 1 are present.
|
||||
@@ -68,7 +68,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// GUID MUST be set to FMTID_DocSummaryInformation
|
||||
/// ({D5CDD502-2E9C-101B-9397-08002B2CF9AE}).
|
||||
/// </summary>
|
||||
public GUID? FMTID0 { get; set; }
|
||||
public GUID FMTID0 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// An unsigned integer that MUST be set to the offset in bytes from the beginning
|
||||
@@ -80,7 +80,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// If NumPropertySets has the value 0x00000002, it MUST be set to FMTID_UserDefinedProperties
|
||||
/// ({D5CDD505-2E9C-101B-9397-08002B2CF9AE}). Otherwise, it MUST be absent.
|
||||
/// </summary>
|
||||
public GUID? FMTID1 { get; set; }
|
||||
public GUID FMTID1 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// If NumPropertySets has the value 0x00000002, it MUST be set to the offset in bytes
|
||||
@@ -92,13 +92,13 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// <summary>
|
||||
/// MUST be a PropertySet packet
|
||||
/// </summary>
|
||||
public PropertySet? PropertySet0 { get; set; }
|
||||
public PropertySet PropertySet0 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// If NumPropertySets has the value 0x00000002, it MUST be a PropertySet packet.
|
||||
/// Otherwise, it MUST be absent.
|
||||
/// </summary>
|
||||
public PropertySet? PropertySet1 { get; set; }
|
||||
public PropertySet PropertySet1 { get; set; }
|
||||
|
||||
// Padding (variable): Contains additional padding added by the implementation.
|
||||
// If present, padding MUST be zeroes and MUST be ignored.
|
||||
|
||||
@@ -3,7 +3,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// <summary>
|
||||
/// The UnicodeString packet represents a Unicode string.
|
||||
/// </summary>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
public class UnicodeString
|
||||
{
|
||||
/// <summary>
|
||||
@@ -18,6 +18,6 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// padding to a multiple of 4 bytes. The string represented by this field SHOULD NOT contain
|
||||
/// embedded or additional trailing null characters.
|
||||
/// </summary>
|
||||
public string? Characters { get; set; }
|
||||
public string Characters { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// <summary>
|
||||
/// The VectorHeader packet represents the number of scalar values in a vector property type.
|
||||
/// </summary>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
public class VectorHeader
|
||||
{
|
||||
/// <summary>
|
||||
|
||||
@@ -3,17 +3,17 @@ namespace SabreTools.Data.Models.OLE
|
||||
/// <summary>
|
||||
/// The VersionedStream packet represents a stream with an application-specific version GUID.
|
||||
/// </summary>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
/// <see href="https://winprotocoldoc.z19.web.core.windows.net/MS-OLEPS/%5bMS-OLEPS%5d.pdf"/>
|
||||
public class VersionedStream
|
||||
{
|
||||
/// <summary>
|
||||
/// MUST be a GUID (Packet Version).
|
||||
/// </summary>
|
||||
public GUID? VersionGuid { get; set; }
|
||||
public GUID VersionGuid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// MUST be an IndirectPropertyName.
|
||||
/// </summary>
|
||||
public IndirectPropertyName? StreamName { get; set; }
|
||||
public IndirectPropertyName StreamName { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user