SafeRelease

Во многих примерах кода в этой документации для выпуска указателей com-интерфейса используется следующая функция.

template <class T> void SafeRelease(T **ppT)
{
    if (*ppT)
    {
        (*ppT)->Release();
        *ppT = NULL;
    }
}

Примечание

Эта функция не определена в заголовке пакета SDK. Чтобы использовать эту функцию, необходимо определить ее в собственном коде.

 

Эта функция освобождает указатель ppT и присваивает ему значение NULL.

Другой вариант — использовать класс смарт-указателя, например CComPtr, который определен в библиотеке активных шаблонов (ATL).

О Media Foundation

IUnknown::Release