SetSearchPathMode 関数 (winbase.h)
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 |