Microsoft DirectX 8.0 (C++)

IDirectMusicLoader8::EnableCache

ロードされるすべてのオブジェクトの自動的なキャッシングを有効または無効にするようローダーに指示する。デフォルトでは、すべてのクラスでキャッシングが有効になっている。

HRESULT EnableCache(
  REFGUID rguidClass,
  BOOL fEnable
);

パラメータ

rguidClass
キャッシュするオブジェクト クラスの識別子への参照 (C++) またはアドレス (C)。すべてのタイプのオブジェクトをキャッシュする場合は GUID_DirectMusicAllTypes。標準的なローダブル クラスのリストについては、「IDirectMusicLoader8」を参照すること。
fEnable
キャッシングを有効にする場合は TRUE、キャッシングを無効にして消去する場合は FALSE を設定する。

戻り値

キャッシュの状態が変更される場合は S_OK、キャッシュが既に希望の状態になっている場合は S_FALSE を返す。

注意

キャッシングを無効にせずにキャッシュを消去するには、IDirectMusicLoader8::ClearCache メソッドを呼び出す。

次のサンプル コードは、セグメント オブジェクトに限ってキャッシングを無効にするので、アプリケーションがそれらを解放した後はそれらのオブジェクトはメモリ内にとどまることはない。スタイル、コード マップ、DLS コレクションなど、共有すべきその他のオブジェクトは引き続きキャッシングされている。デフォルトですべてのオブジェクトのキャッシングは有効になっているので、EnableCache の最初の呼び出しは、通常は不要である。

void myPrepareLoader(IDirectMusicLoader8 *pILoader)
 
{
    pILoader->EnableCache(GUID_DirectMusicAllTypes, TRUE);
    pILoader->EnableCache(CLSID_DirectMusicSegment, FALSE);
}

動作環境

  ヘッダー : dmusici.h で宣言。

参照

IDirectMusicLoader8::CacheObjectIDirectMusicLoader8::ClearCacheキャッシュの管理