mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-04-05 22:01:33 +00:00
This change looks dramatic, but it's just separating out the already-split namespaces into separate top-level folders. In theory, every single one could be built into their own Nuget package. `SabreTools.Serialization` still builds the normal Nuget package that is used by all other projects and includes all namespaces.
34 lines
2.0 KiB
C#
34 lines
2.0 KiB
C#
namespace SabreTools.Data.Models.OLE
|
|
{
|
|
/// <summary>
|
|
/// 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"/>
|
|
public class CodePageString
|
|
{
|
|
/// <summary>
|
|
/// The size in bytes of the <see cref="Characters"/> field, including the null terminator,
|
|
/// but not including padding (if any). If the property set's CodePage property
|
|
/// has the value CP_WINUNICODE (0x04B0), then the value MUST be a multiple of 2
|
|
/// </summary>
|
|
public uint Size { get; set; }
|
|
|
|
/// <summary>
|
|
/// If <see cref="Size"/> is zero, this field MUST be zero bytes in length. If <see cref="Size"/>
|
|
/// is nonzero and the CodePage property set's CodePage property has the value CP_WINUNICODE (0x04B0),
|
|
/// then the value MUST be a null-terminated array of 16-bit Unicode characters, followed by zero
|
|
/// padding to a multiple of 4 bytes. If <see cref="Size"/> is nonzero and the property set's CodePage
|
|
/// property has any other value, it MUST be a null-terminated array of 8-bit characters from the code
|
|
/// page identified by the CodePage property, followed by zero padding to a multiple of 4 bytes. The
|
|
/// string represented by this field MAY contain embedded or additional trailing null characters and
|
|
/// an OLEPS implementation MUST be able to handle such strings. However, the manner in which
|
|
/// strings with embedded or additional trailing null characters are presented by the implementation
|
|
/// to an application is implementation-specific. For maximum interoperability, an OLEPS
|
|
/// 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; } = string.Empty;
|
|
}
|
|
}
|