C28717

警告 C28717: 無効な VARIANT 型

VARIANT 構造体vt フィールドは、特定の値のみを受け取ることができます。 その他の値を割り当てるとエラーになります。

VARIANT 構造体または VARIANTARG 構造体の vt フィールドは、次の値のみを受け取ることができます (VT_BYREFVT_ARRAY によって ORed される可能性があります): VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCHVT_ERRORVT_BOOLVT_VARIANTVT_DECIMALVT_RECORD、VT_UNKNOWNVT_I1VT_UI1VT_UI2VT_UI4VT_INTVT_UINT (VT_EMPTYVT_NULLVT_ARRAY と組み合わせることはできません)。

PREfast は、次の例の警告を報告します。

VARIANT var;
var.vt = VT_SAFEARRAY | VT_INT;

次の例では、エラーが回避されます。

VARIANT var;
var.vt = VT_ARRAY | VT_INT;