C28717
警告 C28717: 無効な VARIANT 型
VARIANT 構造体の vt フィールドは、特定の値のみを受け取ることができます。 その他の値を割り当てるとエラーになります。
VARIANT 構造体または VARIANTARG 構造体の vt フィールドは、次の値のみを受け取ることができます (VT_BYREF や VT_ARRAY によって ORed される可能性があります): 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 と VT_NULL を VT_ARRAY と組み合わせることはできません)。
例
PREfast は、次の例の警告を報告します。
VARIANT var;
var.vt = VT_SAFEARRAY | VT_INT;
次の例では、エラーが回避されます。
VARIANT var;
var.vt = VT_ARRAY | VT_INT;