次の方法で共有


IUnknown_AtomicRelease関数 (shlwapi.h)

コンポーネント オブジェクト モデル (COM) ポインターを解放し、NULL に設定 します

構文

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

パラメーター

[in, out, optional] ppunk

型: void**

COM インターフェイスへのポインターのアドレス。

戻り値

なし

解説

ppunkNULL ポインターを指している場合、操作は実行されません。 それ以外の場合、 ppunk、IUnknown から派生した 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 以降)