Microsoft DirectX 8.0 (C++) |
ロードされるすべてのオブジェクトの自動的なキャッシングを有効または無効にするようローダーに指示する。デフォルトでは、すべてのクラスでキャッシングが有効になっている。
HRESULT EnableCache( REFGUID rguidClass, BOOL fEnable );
キャッシュの状態が変更される場合は 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::CacheObject、IDirectMusicLoader8::ClearCache、キャッシュの管理