C28717
avviso C28717: tipo VARIANT non valido
Il campo vt di uno struct VARIANT può accettare solo determinati valori. L'assegnazione di qualsiasi altro valore a esso è un errore.
Il campo vt di uno struct VARIANT o VARIANTARG può accettare solo i valori seguenti (possibilmente ORed da VT_BYREF e/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 e VT_NULL non possono essere combinati con VT_ARRAY).
Esempio
PREfast segnala l'avviso per l'esempio seguente.
VARIANT var;
var.vt = VT_SAFEARRAY | VT_INT;
Nell'esempio seguente viene evitato l'errore .
VARIANT var;
var.vt = VT_ARRAY | VT_INT;