C6216

تحذير C6216: إدراج ببرنامج التحويل البرمجي تحويل بين الأنواع المختلفة دلالياً المتكاملة: اكتب قيمة منطقية HRESULT إلى

Th هو التحذير يشير إلى أن قيمة منطقية هو المستخدمة HRESULTدون أن بوضوح فريق العمل. أنواع القيمة منطقية تشير إلى نجاح بالقيمة غير صفرية; النجاح ( S_OK) في HRESULTهو المشار إليها بواسطة القيمة 0. القيمة النموذجية للفشل للوظائف التي تقوم بإرجاع خطأ قيمة منطقية هو حالة نجاح عند ذلك هو اختبار HRESULT. Th هو هو المحتمل أن يؤدي إلى نتائج غير صحيحة.

مثال

يلي تعليمات برمجية ينشئ هذا التحذير:

#include <windows.h>
BOOL IsEqual(REFGUID, REFGUID);

HRESULT f( REFGUID riid1, REFGUID riid2 )
{
  // code ...
  return IsEqual(riid1, riid2);  
}

إلى تصحيح هذا التحذير، استخدم تعليمات برمجية التالية:

#include <windows.h>
BOOL IsEqual(REFGUID, REFGUID);

HRESULT f( REFGUID riid1, REFGUID riid2 )
{
  if (IsEqual(riid1, riid2) == TRUE)
  {
    // code ...
    return S_OK;
  }
  else
  {
    // code ...
    return E_FAIL;
  }
}

لهذا التحذير، SCODEنوع هو المكافئ إلى HRESULT.

ل المزيد من المعلومات، انظر نجاح الماكرو و فشل الماكرو .