Tipos de datos COM
En la siguiente tabla se muestran los tipos de datos utilizados en COM y sus correspondientes tipos de valor o clases integrados de .NET Framework. Cualquier tipo no identificado explícitamente en esta tabla se convertirá en un tipo de sistema Int32. Para obtener los tipos correspondientes en Visual Basic 2005, C# y C++, vea la Introducción a la biblioteca de clases de .NET Framework.
Tipo de valor COM |
Tipo de referencia COM |
Tipo de sistema |
---|---|---|
bool |
bool * |
|
char, small |
char *, small * |
|
short |
short * |
|
long, int |
long *, int * |
|
Hyper |
hyper * |
|
unsigned char, byte |
unsigned char *, byte * |
|
wchar_t, unsigned short |
wchar_t *, unsigned short * |
|
unsigned long, unsigned int |
unsigned long *, unsigned int * |
|
unsigned hyper |
unsigned hyper * |
|
float |
float * |
|
double |
double * |
|
VARIANT_BOOL |
VARIANT_BOOL * |
|
void* |
void ** |
|
HRESULT |
HRESULT * |
System.Int16 o System.IntPtr |
SCODE |
SCODE * |
System.Int32 |
BSTR |
BSTR * |
|
LPSTR o [string, …] char * |
LPSTR * |
System.String |
LPWSTR o [string, …] wchar_t * |
LPWSTR * |
System.String |
VARIANT |
VARIANT * |
|
DECIMAL |
DECIMAL * |
|
DATE |
DATE * |
|
GUID |
GUID * |
|
CURRENCY |
CURRENCY * |
|
IUnknown * |
IUnknown ** |
System.Object |
IDispatch * |
IDispatch ** |
System.Object |
SAFEARRAY(tipo) |
SAFEARRAY(tipo) * |
tipo[] |
En la siguiente tabla se enumeran los tipos de referencia y valor COM que se convierten a los tipos de elemento correspondientes. Por ejemplo, una coclase COM se asigna automáticamente a una clase administrada con el mismo nombre.
Tipo de valor COM |
Tipo de referencia COM |
Tipo de elemento |
---|---|---|
Typedef BaseType MiTipo |
ByRef BaseType |
BaseType |
MiEstructura |
ByRef VALUETYPE<MiEstructura> |
valuetype<MiEstructura> |
MiEnumeración |
ByRef VALUETYPE<MiEnumeración> |
valuetype<MiEnumeración> |
MiInterfaz * |
ByRef CLASS <MiInterfaz> |
Class <MiInterfaz> |
MiCoClase |
ByRef CLASS <_Clase> |
Class <_Clase> |