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


функция 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 или более поздняя)