-
-
-
本文背景:某天,本人做COM相关编程,常需要做BSTR至String的类型转换,上网搜了一下,对URL:http://www.cnblogs.com/wangliang651/archive/2006/11/22/568364.html 做了一下简单总结。
本文目的:方便急需类型转换的编程人员。
本文内容:
(注:以下的itoa及atoi方法以属deferred, 宜用_itoa及_atoi)
Byte bVal;
|
// VT_UI1.
|
Short iVal;
|
// VT_I2.
|
long lVal;
|
// VT_I4.
|
float fltVal;
|
// VT_R4.
|
double dblVal;
|
// VT_R8.
|
VARIANT
_BOOL boolVal;
|
// VT_BOOL.
|
SCODE scode;
|
// VT_ERROR.
|
CY cyVal;
|
// VT_CY.
|
DATE date;
|
// VT_DATE.
|
BSTR bstrVal;
|
// VT_BSTR.
|
DECIMAL FAR* pdecVal
|
// VT_BYREF|VT_DECIMAL.
|
IUnknown FAR* punkVal;
|
// VT_UNKNOWN.
|
IDispatch FAR* pdispVal;
|
// VT_DISPATCH.
|
SAFEARRAY FAR* parray;
|
// VT_ARRAY|*.
|
Byte FAR* pbVal;
|
// VT_BYREF|VT_UI1.
|
short FAR* piVal;
|
// VT_BYREF|VT_I2.
|
long FAR* plVal;
|
// VT_BYREF|VT_I4.
|
float FAR* pfltVal;
|
// VT_BYREF|VT_R4.
|
double FAR* pdblVal;
|
// VT_BYREF|VT_R8.
|
VARIANT
_BOOL FAR* pboolVal;
|
// VT_BYREF|VT_BOOL.
|
SCODE FAR* pscode;
|
// VT_BYREF|VT_ERROR.
|
CY FAR* pcyVal;
|
// VT_BYREF|VT_CY.
|
DATE FAR* pdate;
|
// VT_BYREF|VT_DATE.
|
BSTR FAR* pbstrVal;
|
// VT_BYREF|VT_BSTR.
|
IUnknown FAR* FAR* ppunkVal;
|
// VT_BYREF|VT_UNKNOWN.
|
IDispatch FAR* FAR* ppdispVal;
|
// VT_BYREF|VT_DISPATCH.
|
SAFEARRAY FAR* FAR* pparray;
|
// VT_ARRAY|*.
|
VARIANT
FAR* pvarVal;
|
// VT_BYREF|VT_VARIANT.
|
void FAR* byref;
|
// Generic ByRef.
|
char cVal;
|
// VT_I1.
|
unsigned short uiVal;
|
// VT_UI2.
|
unsigned long ulVal;
|
// VT_UI4.
|
int intVal;
|
// VT_INT.
|
unsigned int uintVal;
|
// VT_UINT.
|
char FAR * pcVal;
|
// VT_BYREF|VT_I1.
|
unsigned short FAR * puiVal;
|
// VT_BYREF|VT_UI2.
|
unsigned long FAR * pulVal;
|
// VT_BYREF|VT_UI4.
|
int FAR * pintVal;
|
// VT_BYREF|VT_INT.
|
unsigned int FAR * puintVal;
|
//VT_BYREF|VT_UINT.
|