C6225

تحذير C6225: فريق العمل الضمني بين مختلف دلالياً عدد صحيح أنواع: تعيين 1 أو صواب إلى HRESULT. استخدام S_FALSE بدلاً منه

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

مثال

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

#include <windows.h>

VOID f( )
{
  HRESULT hr;
  LPMALLOC pMalloc;
  
  if (SUCCEEDED(CoGetMalloc(1, &pMalloc)))
  {
    // code ...
    hr = S_OK;  
  }
  else
  {
    // code ...
    hr = 1;
  }
}

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

VOID f( )
{
  HRESULT hr;
  LPMALLOC pMalloc;
  
  if (SUCCEEDED(CoGetMalloc(1, &pMalloc)))
  {
    hr = S_OK;
    // code ...
  }
  else
  {
    hr = S_FALSE;
    // code ...
  }
}

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

للإشارة إلى فشل، E_FAIL، أو ثابت آخر، يجب أن تستخدم.

ل المزيد المعلومات، راجع واحد المواضيع التالية: