Microsoft DirectX 8.0 (C++)

IDirectMusicLoader8::SetSearchDirectory

オブジェクト ファイルを探すための検索パスを設定する。1 つのオブジェクト タイプ、またはすべてのファイルに対する検索パスを設定できる。

HRESULT SetSearchDirectory(
  REFGUID rguidClass,
  WCHAR* pwszPath,
  BOOL fClear
);

パラメータ

rguidClass
呼び出しに関係のあるオブジェクトのクラス識別子への参照 (C++) またはアドレス (C)。GUID_DirectMusicAllTypes は、すべてのタイプを指定する。標準的なローダブル クラスのリストについては、「IDirectMusicLoader8」を参照すること。
pwszPath
ディレクトリのファイル パス。長さが MAX_PATH 以下の有効なディレクトリ名でなければならない。フル パスか、または IDirectMusicLoader8::ScanDirectory の呼び出し時の現在ディレクトリからの相対パスである。
fClear
TRUE の場合、ディレクトリを設定する前に、オブジェクトに関するすべての情報を消去する。この結果、同じ名前を持つほかのディレクトリにあるオブジェクトへのアクセスを回避できる。ただし、それらのオブジェクトはキャッシュから削除されるわけではない。

戻り値

成功した場合は S_OK を返す。検索ディレクトリが既に pwszPath に設定されている場合は S_FALSE を返す。

失敗した場合は、次のいずれかのエラー値を返す。

E_OUTOFMEMORY
E_POINTER
DMUS_E_LOADER_BADPATH

注意

検索パスを設定した後、ローダーはファイル名を使ってオブジェクトをロードするときに、フル パス名を必要としない。この結果、オブジェクトはフル パスを把握していなくてもほかのオブジェクトを参照できる。

このメソッドが呼び出されたときに、DMUS_OBJECTDESC 構造体の dwValidData メンバに DMUS_OBJ_FULLPATH フラグが設定されていなければ、ローダーは wszFileName メンバがファイル名のみ、または検索ディレクトリからの相対パスを保持していることを想定する。

動作環境

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

参照

IDirectMusicLoader8::ScanDirectoryローダーの検索ディレクトリの設定