COM 데이터 형식
업데이트: 2007년 11월
다음 표에서는 COM에서 사용되는 데이터 형식과 이에 대응하는 .NET Framework 기본 제공 값 형식 또는 클래스를 보여 줍니다. 이 표에서 명시적으로 다루지 않은 모든 형식은 Int32 시스템 형식으로 변환됩니다. Visual Basic 2005, C# 및 C++의 해당 형식을 보려면 .NET Framework 클래스 라이브러리 개요를 참조하십시오.
COM 값 형식 |
COM 참조 형식 |
시스템 형식 |
---|---|---|
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 또는 System.IntPtr |
SCODE |
SCODE * |
System.Int32 |
BSTR |
BSTR * |
|
LPSTR 또는 [string, …] char * |
LPSTR * |
System.String |
LPWSTR 또는 [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(type) |
SAFEARRAY(type) * |
type[] |
다음 표에서는 대응하는 요소 형식으로 변환하는 COM 값 형식 및 참조 형식의 목록을 보여 줍니다. 예를 들어, COM coclass는 자동으로 동일한 이름의 관리되는 클래스에 매핑됩니다.
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> |