Share via


COM 資料型別

下表顯示在 COM 中使用的資料型別,以及其對應的 .NET Framework 內建實值型別 (Value type) 或類別。 任何未明確定義在這個表格中的型別會轉換為 Int32 系統型別。 如需 Visual Basic 2005、C# 和 C++ 中的對應型別,請參閱 .NET Framework 類別庫簡介

COM 實值型別

COM 參考型別

系統型別

bool

bool *

System.Int32

charsmall

char *small *

System.SByte

short

short *

System.Int16

longint

long *int *

System.Int32

Hyper

hyper *

System.Int64

unsigned charbyte

unsigned char *byte *

System.Byte

wchar_tunsigned short

wchar_t *unsigned short *

System.UInt16

unsigned longunsigned 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.Int16System.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 coclass 會自動對應到同名的 Managed 類別。

COM 實值型別

COM 參考型別

項目型別

Typedef BaseType MyType

ByRef BaseType

BaseType

MyStruct

ByRef VALUETYPE<MyStruct>

valuetype<MyStruct>

MyEnum

ByRef VALUETYPE<MyEnum>

valuetype<MyEnum>

MyInterface *

ByRef CLASS <MyInterface>

Class <MyInterface>

MyCoClass

ByRef CLASS <_Class>

Class <_Class>

請參閱

概念

自訂 COM 可呼叫包裝函式

自訂執行階段可呼叫包裝函式

其他資源

使用 COM Interop 封送處理資料