Поделиться через


Типы данных COM

В следующей таблице показаны типы данных, используемые в COM-приложении, и соответствующие им встроенные типы значений или классы .NET Framework. Любой тип, не определенный в явном виде в этой таблице, преобразуется в системный тип Int32. Соответствующие типы в Visual Basic 2005, C# и C++, см. в разделе Введение в библиотеку классов .NET Framework.

Тип значений COM

Ссылочный тип COM

Системный тип

bool

bool *

System.Int32

char, small

char *, small *

System.SByte

short

short *

System.Int16

long, int

long *, int *

System.Int32

Hyper

hyper *

System.Int64

unsigned char, byte

unsigned char *, byte *

System.Byte

wchar_t, unsigned short

wchar_t *, unsigned short *

System.UInt16

unsigned long, unsigned int

unsigned long *, unsigned int *

System.UInt32

unsigned hyper

unsigned hyper *

System.UInt64

float

float *

System.Single

double

double *

System.Double

VARIANT_BOOL

VARIANT_BOOL *

System.Boolean

void *

void **

System.IntPtr

HRESULT

HRESULT *

System.Int16 или System.IntPtr

SCODE

SCODE *

System.Int32

BSTR

BSTR *

System.String

LPSTR или [string, …] char *

LPSTR *

System.String

LPWSTR или [string, …] wchar_t *

LPWSTR *

System.String

VARIANT

VARIANT *

System.Object

DECIMAL

DECIMAL *

System.Decimal

DATE

DATE *

System.DateTime

GUID

GUID *

System.Guid

CURRENCY

CURRENCY *

System.Decimal

IUnknown *

IUnknown **

System.Object

IDispatch *

IDispatch **

System.Object

SAFEARRAY(type)

SAFEARRAY(type) *

type[]

В следующей таблице приведен список типов значений и ссылочных типов модели COM, преобразуемых в соответствующие типы элементов. Например, компонентный COM-класс автоматически отображается в управляемый класс с тем же именем.

Тип значений COM

Ссылочный тип COM

Тип элемента

Typedef BaseType МойТип

ByRef BaseType

BaseType

MyStruct

ByRef VALUETYPE<МояСтруктура>

valuetype<МояСтруктура>

МоеПеречисление

ByRef VALUETYPE<МоеПеречисление>

valuetype<МоеПеречисление>

MyInterface *

ByRef CLASS <MyInterface>

Class <МойИнтерфейс>

МойКомпКласс

ByRef CLASS <_Класс>

Class <_Класс>

См. также

Основные понятия

Настройка вызываемых оболочек COM

Настройка вызываемых оболочек времени выполнения

Другие ресурсы

Маршалинг с помощью COM- взаимодействия