C28717
경고 C28717: 잘못된 VARIANT 유형
VARIANT 구조체의 vt 필드는 특정 값만 사용할 수 있습니다. 다른 값을 할당하는 것은 오류입니다.
VARIANT 또는 VARIANTARG 구조체의 vt 필드는 다음 값(VT_BYREF 및/또는 VT_ARRAY ORed)만 사용할 수 있습니다. VT_EMPTYVT_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_UNKNOWNVT_I1, VT_UI1, VT_UI2, VT_UI4, VT_INT, VT_UINT(VT_EMPTY 및 VT_NULLVT_ARRAY 결합할 수 없음).
예제
PREfast는 다음 예제에 대한 경고를 보고합니다.
VARIANT var;
var.vt = VT_SAFEARRAY | VT_INT;
다음 예제에서는 오류를 방지합니다.
VARIANT var;
var.vt = VT_ARRAY | VT_INT;