C28717
警告 C28717:VARIANT 类型无效
VARIANT 结构的vt 字段只能采用某些值。 向其分配任何其他值是一个错误。
VARIANT 或 VARIANTARG 结构的 vt 字段只能采用以下值 (可能由 VT_BYREF 和/或 VT_ARRAY) 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;