C28717
advertencia C28717: Tipo VARIANT no válido
El campo vt de una estructura VARIANT solo puede tomar determinados valores. La asignación de cualquier otro valor a él es un error.
El campo vt de una estructura VARIANT o VARIANTARG solo puede tomar los siguientes valores (posiblemente ORed por VT_BYREF o VT_ARRAY): VT_EMPTY, VT_NULL, VT_I2, VT_I4, VT_R4, VT_R8, VT_CY, VT_DATE, VT_BSTR, VT_DISPATCH, VT_ERROR, VT_BOOL, VT_VARIANT, VT_DECIMAL, VT_RECORD, VT_UNKNOWN,VT_I1, VT_UI1, VT_UI2, VT_UI4, VT_INT, VT_UINT (VT_EMPTY y VT_NULL no se pueden combinar con VT_ARRAY).
Ejemplo
PREfast notifica la advertencia para el ejemplo siguiente.
VARIANT var;
var.vt = VT_SAFEARRAY | VT_INT;
En el ejemplo siguiente se evita el error.
VARIANT var;
var.vt = VT_ARRAY | VT_INT;