C
cricketj55
In Windows 2000 if you call SafeArrayCreateVector, the returned
SAFEARRAY does not have the FADF_HAVEVARTYPE set in the fFeatures word.
For example,
SAFEARRAY *psa1 = ::SafeArrayCreateVector( VT_VARIANT, 0, 1 );
SAFEARRAY *psa2 = ::SafeArrayCreateVectorEx( VT_VARIANT, 0, 1, NULL );
psa1->fFeatures == 0x2800 // no FADF_HAVEVARTYPE
but
psa2->fFeatures == 0x2880 // has FADF_HAVEVARTYPE
Under Windows XP and 2003, both SafeArrayCreateVector and
SafeArrayCreateVectorEx will set the FADF_HAVEVARTYPE flag.
SafeArrayGetVartype() will fail without the FADF_HAVEVARTYPE flag.
thanks,
cj
SAFEARRAY does not have the FADF_HAVEVARTYPE set in the fFeatures word.
For example,
SAFEARRAY *psa1 = ::SafeArrayCreateVector( VT_VARIANT, 0, 1 );
SAFEARRAY *psa2 = ::SafeArrayCreateVectorEx( VT_VARIANT, 0, 1, NULL );
psa1->fFeatures == 0x2800 // no FADF_HAVEVARTYPE
but
psa2->fFeatures == 0x2880 // has FADF_HAVEVARTYPE
Under Windows XP and 2003, both SafeArrayCreateVector and
SafeArrayCreateVectorEx will set the FADF_HAVEVARTYPE flag.
SafeArrayGetVartype() will fail without the FADF_HAVEVARTYPE flag.
thanks,
cj