You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/// <summary>Indicates the data layout of the marshaled array.</summary>
6
+
publicenumArrayLayout
7
+
{
8
+
/// <summary>Array of sequential values with a fixed size specified by SizeConst property. ArraySubType property should be used.</summary>
9
+
ByValArray,
10
+
11
+
/*// OLE defined SAFEARRAY
12
+
SafeArray,*/
13
+
14
+
/// <summary>
15
+
/// Pointer to an array of sequential values with a size specified by another field. ArraySubType property should be used if marshaling
16
+
/// needed for subtype. SizeFieldName must be used.
17
+
/// </summary>
18
+
LPArray,
19
+
20
+
/*// Pointer to an array of sequential values terminated by a null or default value. ArraySubType property should be used if marshaling needed for subtype.
21
+
LPArrayNullTerm,*/
22
+
23
+
/// <summary>Pointer to an array of pointers to strings. SizeFieldName must be used.</summary>
24
+
StringPtrArray,
25
+
26
+
/// <summary>
27
+
/// Pointer to a null-terminated array of pointers to strings where the final pointer is null. Size is inferred from the array.
28
+
/// </summary>
29
+
StringPtrArrayNullTerm,
30
+
31
+
/// <summary>Pointer to a null-terminated array of pointers to strings. Size is inferred from the array.</summary>
32
+
ConcatenatedStringArray,
33
+
}
34
+
35
+
/// <summary>Specifies the number of bits in a pointer for a marshaled value.</summary>
36
+
publicenumBitness
37
+
{
38
+
/// <summary>Selects the bit count automatically based on the current OS.</summary>
39
+
Auto=0,
40
+
41
+
/// <summary>Implies a 32-bit OS.</summary>
42
+
X32bit=32,
43
+
44
+
/// <summary>Implies a 64-bit OS.</summary>
45
+
X64bit=64,
46
+
}
47
+
48
+
/// <summary>Determines the layout of the structure or class when marshaled.</summary>
49
+
publicenumLayoutModel
50
+
{
51
+
/// <summary>The layout matches the order of the fields in the structure or class.</summary>
52
+
Sequential,
53
+
54
+
/// <summary>
55
+
/// The layout is a union of all the fields in the structure or class. In this instance, all field values but one should be set to their
56
+
/// default values.
57
+
/// </summary>
58
+
Union
59
+
}
60
+
61
+
/// <summary>Identifies the type of encoding used to read and write binary representations of strings.</summary>
62
+
publicenumStringEncoding
63
+
{
64
+
/// <summary>The automatic encoding. Typically Unicode.</summary>
65
+
Default=CharSet.Ansi,
66
+
67
+
/// <summary>ANSI encoding.</summary>
68
+
[CorrespondingType(typeof(ASCIIEncoding))]
69
+
ASCII=11,
70
+
71
+
/// <summary>Unicode encoding.</summary>
72
+
[CorrespondingType(typeof(UnicodeEncoding))]
73
+
Unicode=CharSet.Unicode,
74
+
75
+
/// <summary>UTF-8 encoding.</summary>
76
+
[CorrespondingType(typeof(UTF8Encoding))]
77
+
UTF8=12,
78
+
79
+
/// <summary>UTF-32 encoding.</summary>
80
+
[CorrespondingType(typeof(UTF32Encoding))]
81
+
UTF32=13,
82
+
}
83
+
84
+
/// <summary>Attribute that can be applied to classes and structures to indicate that they support custom marshaling.</summary>
/// <summary>The number of bits in the field. The default is 1. The maximum value is bit size of <typeparamref name="T"/>.</summary>
169
+
publicintBitCount{get;}
170
+
171
+
/// <summary>If <see langword="true"/>, the field starts a new underlying field in the structure. The default is <see langword="false"/>.</summary>
172
+
publicboolStartNewField{get;set;}=false;
173
+
}
174
+
175
+
/// <summary>
176
+
/// Attribute that can be applied to fields in a structure or class to indicate that the field is a pointer to a string of a specified length.
177
+
/// </summary>
178
+
/// <param name="length">
179
+
/// The length, in characters, of the string. Whether or not a NULL terminator is included is specified by <paramref name="nullTerm"/>..
180
+
/// </param>
181
+
/// <param name="nullTerm"><see langword="true"/> if the NULL terminator is included in <paramref name="length"/>; otherwise <see langword="false"/>.</param>
182
+
/// <param name="stringEncoding">The character encoding of the string.</param>
0 commit comments