функция IUnknown_AtomicRelease (shlwapi.h)
Освобождает указатель com и задает для него значение NULL.
Синтаксис
void IUnknown_AtomicRelease(
[in, out, optional] void **ppunk
);
Параметры
[in, out, optional] ppunk
Тип: void**
Адрес указателя на COM-интерфейс.
Возвращаемое значение
None
Remarks
Если ppunk указывает на указатель NULL , операция не выполняется. В противном случае ppunk считается адресом указателя интерфейса COM, производного от IUnknown. Функция вызывает метод интерфейса IUnknown::Release , а затем задает для указателя интерфейса значение NULL.
Примеры
В следующем примере используется IUnknown_AtomicRelease для освобождения потока, если он существует. Если нет, он ничего не делает.
void sample()
{
IStream *pstm = NULL;
CreateStreamOnHGlobal(NULL, TRUE, &pstm);
IUnknown_AtomicRelease((void**)&pstm);
// At this point, pstm is NULL
}
Требования
Минимальная версия клиента | Windows 2000 Professional, Windows XP [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server, Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | shlwapi.h |
DLL | Shlwapi.dll (версия 5.0 или более поздняя) |