public enum UnmanagedType
Object
ValueType
Enum
UnmanagedType
mscorlib
RuntimeInfrastructure
Identifies how parameters or fields are to be marshaled to unmanaged code.
This type provides a set of values that identify the native types that are supported by the CLI. Each native type is encoded by a different value. All encoding values in the range 0-63, inclusive, are reserved for backward compatibility with existing implementations of the CLI. Values in the range 64-127 are reserved for future use in this and related Standards.
System.Runtime.InteropServices Namespace
UnmanagedType Fields
UnmanagedType.Bool Field
UnmanagedType.CustomMarshaler Field
UnmanagedType.FunctionPtr Field
UnmanagedType.I1 Field
UnmanagedType.I2 Field
UnmanagedType.I4 Field
UnmanagedType.I8 Field
UnmanagedType.LPArray Field
UnmanagedType.LPStr Field
UnmanagedType.LPWStr Field
UnmanagedType.R4 Field
UnmanagedType.R8 Field
UnmanagedType.SysInt Field
UnmanagedType.SysUInt Field
UnmanagedType.U1 Field
UnmanagedType.U2 Field
UnmanagedType.U4 Field
UnmanagedType.U8 Field
UnmanagedType.value__ Field
Bool = 2;
Specifies a 4-byte Boolean value wheretrue
is denoted by all non-zero values andfalse
is denoted by zero.
System.Runtime.InteropServices.UnmanagedType Enum, System.Runtime.InteropServices Namespace
CustomMarshaler = 44;
Specifies the custom marshaler class when used with System.Runtime.InteropServices.MarshalAsAttribute.MarshalType or System.Runtime.InteropServices.MarshalAsAttribute.MarshalTypeRef .
System.Runtime.InteropServices.UnmanagedType Enum, System.Runtime.InteropServices Namespace
FunctionPtr = 38;
Specifies a function pointer.
System.Runtime.InteropServices.UnmanagedType Enum, System.Runtime.InteropServices Namespace
I1 = 3;
Specifies a 1-byte signed integer.
System.Runtime.InteropServices.UnmanagedType Enum, System.Runtime.InteropServices Namespace
I2 = 5;
Specifies a 2-byte signed integer.
System.Runtime.InteropServices.UnmanagedType Enum, System.Runtime.InteropServices Namespace
I4 = 7;
Specifies a 4-byte signed integer.
System.Runtime.InteropServices.UnmanagedType Enum, System.Runtime.InteropServices Namespace
I8 = 9;
Specifies an 8-byte signed integer.
System.Runtime.InteropServices.UnmanagedType Enum, System.Runtime.InteropServices Namespace
LPArray = 42;
Specifies a C-style array. When marshaling from managed to unmanaged, the length of the array is determined by the length of the managed array. When marshaling from unmanaged to managed, the length of the array is determined from the System.Runtime.InteropServices.MarshalAsAttribute.SizeConst and System.Runtime.InteropServices.MarshalAsAttribute.SizeParamIndex fields.
System.Runtime.InteropServices.UnmanagedType Enum, System.Runtime.InteropServices Namespace
LPStr = 20;
Specifies a pointer to an ANSI character string.
System.Runtime.InteropServices.UnmanagedType Enum, System.Runtime.InteropServices Namespace
LPWStr = 21;
Specifies a pointer to a Unicode character string.
System.Runtime.InteropServices.UnmanagedType Enum, System.Runtime.InteropServices Namespace
R4 = 11;
Specifies a 4-byte floating-point number.
System.Runtime.InteropServices.UnmanagedType Enum, System.Runtime.InteropServices Namespace
R8 = 12;
Specifies an 8-byte floating-point number.
System.Runtime.InteropServices.UnmanagedType Enum, System.Runtime.InteropServices Namespace
SysInt = 31;
Specifies an implementation-specific sized signed integer.
System.Runtime.InteropServices.UnmanagedType Enum, System.Runtime.InteropServices Namespace
SysUInt = 32;
Specifies an implementation-specific sized unsigned integer.
System.Runtime.InteropServices.UnmanagedType Enum, System.Runtime.InteropServices Namespace
U1 = 4;
Specifies a 1-byte unsigned integer.[Note: System.Runtime.InteropServices.UnmanagedType.U1 can be used to marshal a Char parameter as an ANSI character.]
System.Runtime.InteropServices.UnmanagedType Enum, System.Runtime.InteropServices Namespace
U2 = 6;
Specifies a 2-byte unsigned integer.[Note: System.Runtime.InteropServices.UnmanagedType.U2 can be used to marshal a Char parameter as a Unicode character.]
System.Runtime.InteropServices.UnmanagedType Enum, System.Runtime.InteropServices Namespace
U4 = 8;
Specifies a 4-byte unsigned integer.
System.Runtime.InteropServices.UnmanagedType Enum, System.Runtime.InteropServices Namespace
U8 = 10;
Specifies an 8-byte unsigned integer.
System.Runtime.InteropServices.UnmanagedType Enum, System.Runtime.InteropServices Namespace
value__;
System.Runtime.InteropServices.UnmanagedType Enum, System.Runtime.InteropServices Namespace