0

我正在研究编写一个 c++ KlocWork 自定义检查器来突出显示以下情况。

当 COM 函数可能返回失败代码时,调用 COM 函数的应用程序应编写适当的异常处理代码。

COM 组件:

{代码}

   STDMETHODIMP CCMeasurement::DivideNums(LONG numerator, LONG denominator, LONG* result)
   {

   if (denominator == 0) {

          return E_FAIL;

   }

   else {

         result = numerator/denominator;

   }

   return S_OK;

   }

{代码}

消费应用:

{代码}

   ICMeasurementPtr msptr(__uuidof(CMeasurement));

   long denominator = 0, numerator = 5, result;

   msptr-> DivideNums (denominator, numerator, &result); //Highlight this line.

{代码}

我有兴趣强调那些返回失败代码(例如:E_FAIL)的 COM API 调用,而不是那些只返回成功代码(例如:S_OK)的 COM API 调用。将理解检测上述情况的 KAST 模式或任何其他可能的方式。

4

0 回答 0