Platform SDK: DirectX

IDirectMusicLoader::EnableCache

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

HRESULT EnableCache(
  REFGUID rguidClass,
  BOOL fEnable
);

パラメータ

rguidClass
キャッシングされるオブジェクトのクラス識別子への参照 (C++) またはアドレス (C)。GUID_DirectMusicAllTypes を使って、すべてのタイプを指定できる。
fEnable
キャッシングを有効にする場合は TRUE、キャッシングを無効にして消去する場合は FALSE。

戻り値

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

注意

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

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

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

動作環境

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : dmusici.h で宣言。

参照

IDirectMusicLoader::CacheObjectIDirectMusicLoader::ClearCacheオブジェクトのキャッシング