3 // This code was automatically generated from
\r
4 // ECMA CLI XML Library Specification.
\r
5 // Generator: libgen.xsl
\r
6 // Source file: all.xml
\r
7 // URL: http://devresource.hp.com/devresource/Docs/TechPapers/CSharp/all.xml
\r
9 // (C) 2001 Ximian, Inc. http://www.ximian.com
\r
12 namespace System.Runtime.InteropServices {
\r
17 /// Identifies how parameters or fields should be marshaled to unmanaged
\r
21 public enum UnmanagedType {
\r
25 /// 4-byte Boolean value (<see langword="true " />!= 0, <see langword="false " />=
\r
33 /// 1-byte signed integer.
\r
40 /// 1-byte unsigned integer.
\r
47 /// 2-byte signed integer.
\r
54 /// 2-byte unsigned integer.
\r
61 /// 4-byte signed integer.
\r
68 /// 4-byte unsigned integer.
\r
75 /// 8-byte signed integer.
\r
82 /// 8-byte unsigned integer.
\r
89 /// 4-byte floating point number.
\r
96 /// 8-byte floating point number.
\r
103 /// Unicode character string that is a length prefixed double
\r
111 /// A single byte ANSI character string.
\r
118 /// A double byte Unicode character string.
\r
125 /// A platform independent character string, ANSI on Win9x, Unicode on WinNT.
\r
131 /// <para>Used for in-line fixed length character arrays that
\r
132 /// appear within a structure. The character type used with
\r
133 /// <see langword="ByValTStr" /> is determined by the <see cref="T:System.Runtime.InteropServices.CharSet" /> argument of the <see cref="T:System.Runtime.InteropServices.StructLayoutAttribute" />
\r
134 /// applied to the containing structure.</para>
\r
139 /// <para>A COM <see langword="IUnknown" /> pointer. This only applies to a generic object, not a derived class.</para>
\r
144 /// <para>A COM IDispatch pointer. This only applies to a generic object, not a derived class.</para>
\r
150 /// A C-style structure, used to marshal managed formatted classes and value
\r
157 /// <para>A COM interface pointer. The <see cref="T:System.Guid" /> of the interface is obtained from the class
\r
158 /// metadata.</para>
\r
163 /// SafeArrays are self-describing arrays that carry the
\r
164 /// type, rank and bounds of the associated array data.
\r
170 /// A fixed length array. The UnmanagedFormatAttribute must contain the count of
\r
171 /// elements in the array. The UnmanagedFormatAttribute may optionally contain the
\r
172 /// unmanaged type of the elements when it is necessary to differentiate among
\r
180 /// A platform independent signed integer. 4-bytes on 32 bit Windows, 8-bytes on
\r
181 /// 64 bit Windows.
\r
188 /// Hardware natural sized unsigned integer
\r
202 /// ANSI character string that is a length prefixed, single byte.
\r
209 /// A length prefixed platform independent char string. ANSI on Windows 9x,
\r
210 /// Unicode on Windows NT.
\r
217 /// 8-byte unsigned integer.
\r
224 /// A function pointer.
\r
231 /// An un-typed 4-byte pointer.
\r
237 /// <para>Dynamic type that determines the <see cref="T:System.Type" /> of an object at
\r
238 /// runtime and marshals the object as that <see cref="T:System.Type" />
\r
245 /// Size agnostic floating point number.
\r
251 /// <para>An array whose length is determined at runtime by the size of the actual
\r
252 /// marshaled array. Optionally followed by the unmanaged type of the elements
\r
253 /// within the array when it is necessary to differentiate among string types. When
\r
254 /// marshaling from managed to unmanaged, the size of the array is determined
\r
255 /// dynamically. When marshaling from unmanaged to managed, the size is always
\r
256 /// assumed to be 1.</para>
\r
262 /// A pointer to a C-style structure. Used to marshal managed formatted classes
\r
263 /// and value types.
\r
270 /// Custom marshaler native type. This must be followed
\r
271 /// by a string of the following format:
\r
272 /// "Native type name\0Custom marshaler type name\0Optional cookie\0"
\r
274 /// "{Native type GUID}\0Custom marshaler type name\0Optional cookie\0"
\r
277 CustomMarshaler = 44,
\r
280 /// <para>This native type associated with an <see cref="F:System.Runtime.InteropServices.UnmanagedType.I4" /> or a <see cref="F:System.Runtime.InteropServices.UnmanagedType.U4" /> will cause the parameter
\r
281 /// to be exported as an HRESULT in the exported typelib.</para>
\r
286 /// <para>First invalid element type. </para>
\r
288 NativeTypeMax = 80,
\r
291 } // System.Runtime.InteropServices
\r