다음을 통해 공유


IUnknown_AtomicRelease 함수(shlwapi.h)

COM(구성 요소 개체 모델) 포인터를 해제하고 NULL로 설정합니다.

구문

void IUnknown_AtomicRelease(
  [in, out, optional] void **ppunk
);

매개 변수

[in, out, optional] ppunk

형식: void**

COM 인터페이스에 대한 포인터의 주소입니다.

반환 값

없음

설명

ppunkNULL 포인터를 가리키는 경우 작업이 수행되지 않습니다. 그렇지 않으면 ppunkIUnknown에서 파생된 COM 인터페이스 포인터의 주소로 간주됩니다. 함수는 인터페이스의 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
헤더 shlwapi.h
DLL Shlwapi.dll(버전 5.0 이상)