System::Runtime::InteropServices Namespace Reference

Classes

class  Details_ExternalException
 The base exception type for all COM interop exceptions and structured exception handling (SEH) exceptions. Never create instances of this class manually. Use the ExternalException class instead. Never wrap the ExternalException class instances into System::SmartPtr.
 
struct  FILETIME
 Holds file time components. This type should be allocated on stack and passed to functions by value or by reference. Never use System::SmartPtr class to manage objects of this type. More...
 
class  Marshal
 Provides marshalling implementation. For compatibility with translated code only, as no managed code is supported on C++ side. This is a static type with no instance services. You should never create instances of it by any means. More...
 

Typedefs

using ExternalException = System::ExceptionWrapper< Details_ExternalException >
 

Enumerations

enum  GCHandleType { GCHandleType::Weak = 0, GCHandleType::WeakTrackResurrection = 1, GCHandleType::Normal = 2, GCHandleType::Pinned = 3 }
 Defines how handle is treated by garbage collector. More...
 
enum  VarEnum {
  VT_EMPTY = 0, VT_NULL = 1, VT_I2 = 2, VT_I4 = 3,
  VT_R4 = 4, VT_R8 = 5, VT_CY = 6, VT_DATE = 7,
  VT_BSTR = 8, VT_DISPATCH = 9, VT_ERROR = 10, VT_BOOL = 11,
  VT_VARIANT = 12, VT_UNKNOWN = 13, VT_DECIMAL = 14, VT_I1 = 16,
  VT_UI1 = 17, VT_UI2 = 18, VT_UI4 = 19, VT_I8 = 20,
  VT_UI8 = 21, VT_INT = 22, VT_UINT = 23, VT_VOID = 24,
  VT_HRESULT = 25, VT_PTR = 26, VT_SAFEARRAY = 27, VT_CARRAY = 28,
  VT_USERDEFINED = 29, VT_LPSTR = 30, VT_LPWSTR = 31, VT_RECORD = 36,
  VT_FILETIME = 64, VT_BLOB = 65, VT_STREAM = 66, VT_STORAGE = 67,
  VT_STREAMED_OBJECT = 68, VT_STORED_OBJECT = 69, VT_BLOB_OBJECT = 70, VT_CF = 71,
  VT_CLSID = 72, VT_VECTOR = 4096, VT_ARRAY = 8192, VT_BYREF = 16384
}
 Defines how array elements should be marshalled. More...
 

Typedef Documentation

◆ ExternalException

Enumeration Type Documentation

◆ GCHandleType

Defines how handle is treated by garbage collector.

Enumerator
Weak 

Weak pointer.

WeakTrackResurrection 

Weak pointer with tracked resurrection.

Normal 

Strong pointer.

Pinned 

Pinned (undeletable) pointer.

◆ VarEnum

Defines how array elements should be marshalled.

Enumerator
VT_EMPTY 

Value not speicified.

VT_NULL 

Marshal as null.

VT_I2 

2-bytes ingeger.

VT_I4 

4-bytes integer.

VT_R4 

4-bytes floating point.

VT_R8 

8-bytes floating point.

VT_CY 

Use currency rules.

VT_DATE 

Date value.

VT_BSTR 

BSTR value.

VT_DISPATCH 

IDispatch pointer.

VT_ERROR 

Error code.

VT_BOOL 

Boolean value.

VT_VARIANT 

Variant value.

VT_UNKNOWN 

IUnknown pointer.

VT_DECIMAL 

Decimal value.

VT_I1 

Byte value.

VT_UI1 

Unsigned byte value.

VT_UI2 

Unsigned 2-bytes integer.

VT_UI4 

Unsigned 4-bytes integer.

VT_I8 

8-bytes integer.

VT_UI8 

Unsigned 8-bytes integer.

VT_INT 

Integer value.

VT_UINT 

Unsigned integer value.

VT_VOID 

C-style void.

VT_HRESULT 

HRESULT-compatible value.

VT_PTR 

Pointer value.

VT_SAFEARRAY 

Safe array value.

VT_CARRAY 

C-style array.

VT_USERDEFINED 

User-defined type.

VT_LPSTR 

Null-terminated string of chars.

VT_LPWSTR 

Null-terminated string of wchar_ts.

VT_RECORD 

User-defined type.

VT_FILETIME 

Filename.

VT_BLOB 

Lenght-prefixed array of bytes.

VT_STREAM 

Stream name.

VT_STORAGE 

Storage name.

VT_STREAMED_OBJECT 

Object serialized in stream.

VT_STORED_OBJECT 

Object serialized in storage.

VT_BLOB_OBJECT 

Object serialized in blob.

VT_CF 

Clipboard format.

VT_CLSID 

Class ID.

VT_VECTOR 

Vector.

VT_ARRAY 

Safe array.

VT_BYREF 

Reference.