SearchPath 関数でファイルの検索時に使用されるプロセスごとのモードを設定します。
構文
BOOL SetSearchPathMode(
[in] DWORD Flags
);
パラメーター
[in] Flags
使用する検索モード。
戻り値
操作が正常に完了すると、 SetSearchPathMode 関数は 0 以外の値を返します。
操作が失敗した場合、 SetSearchPathMode 関数は 0 を返します。 エラーの詳細情報を得るには、GetLastError 関数を呼び出します。
パラメーター値が無効であるため に SetSearchPathMode 関数が失敗した場合、 GetLastError 関数によって返される値は ERROR_INVALID_PARAMETERされます。
現在の状態とパラメーター値の組み合わせが無効であるため に SetSearchPathMode 関数が失敗した場合、 GetLastError 関数によって返される値は ERROR_ACCESS_DENIEDされます。 詳細については、「解説」を参照してください。
解説
現在のプロセスに 対して SetSearchPathMode 関数が正常に呼び出されていない場合、 SearchPath 関数で使用される検索モードはシステム レジストリから取得されます。 詳細については、「 SearchPath」を参照してください。
現在のプロセスに対して SetSearchPathMode 関数が正常に呼び出されると、システム レジストリの設定は無視され、最後に正常に設定されたモードが優先されます。
現在のプロセスに対して SetSearchPathMode 関数が正常に呼び出され、 Flags が に設定されている場合は、呼び出し元のプロセスに対して (BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE | BASE_SEARCH_PATH_PERMANENT)セーフ モードが永続的に設定されます。 そのプロセス内から SetSearchPathMode 関数をそれ以降呼び出すと、検索モードを変更しようとすると、GetLastError 関数からのERROR_ACCESS_DENIEDで失敗します。
この関数は、システム レジストリを変更しません。
Windows 8 と Windows Server 2012 では、この関数は、次のテクノロジによってサポートされています。
| テクノロジ | サポートされています |
|---|---|
| サーバー メッセージ ブロック (SMB) 3.0 プロトコル | はい |
| SMB 3.0 Transparent Failover (TFO) | はい |
| スケールアウト ファイル共有 (SO) を使う SMB 3.0 | はい |
| クラスターの共有ボリューム ファイル システム (CsvFS) | はい |
| Resilient File System (ReFS) | はい |
要件
| サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
| サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
| 対象プラットフォーム | Windows |
| ヘッダー | winbase.h (Windows.h を含む) |
| Library | Kernel32.lib |
| [DLL] | Kernel32.dll |
| 再頒布可能パッケージ | SP2 以降と Windows Server 2003 SP1 以降を使用した Windows XP でのKB959426 |