Поделиться через


C28624

предупреждение C28624: нет вызова Release() для сопоставления увеличенной ссылки из LResultFromObject

LresultFromObject увеличивает количество ссылок на новые объекты IAccessible.

Пример

В следующем примере кода создается это предупреждение.

{
 IAccessible *pacc = CreateNewIAccessible();
 LRESULT lTemp = LresultFromObject(riid, NULL, pacc );
}

{
 IAccessible *pacc = NULL;
 // Get new interface (from same object)
 QueryInterface( & pacc );

 // Lresult will internally bump up the refcount
 // to hold onto the object.
 
 LRESULT lTemp = LresultFromObject( riid, NULL, pacc );
}

В следующем примере показано, как избежать ошибки.

{
 IAccessible *pacc = CreateNewIAccessible();
 // Lresult internally increases the refcount to
 // hold onto the object.
 LRESULT lTemp = LresultFromObject(riid, NULL, pacc );

 // We no longer need our pacc interface, so we release it.

 pacc->Release();
}