GetTempPath2A 関数 (fileapi.h)
呼び出し元プロセスの特権に基づいて、一時ファイル用に指定されたディレクトリのパスを取得します。
構文
DWORD GetTempPath2A(
[in] DWORD BufferLength,
[out] LPSTR Buffer
);
パラメーター
[in] BufferLength
TCHAR で lpBuffer によって識別される文字列バッファーのサイズ。
[out] Buffer
一時ファイル パスを指定する null で終わる文字列を受け取る文字列バッファーへのポインター。 返される文字列は、"C:\TEMP\" などの円記号で終わります。
戻り値
関数が成功した場合、戻り値は lpBuffer にコピーされた文字列の TCHAR の長さであり、終端の null 文字は含まれません。 戻り値が nBufferLength より大きい場合、戻り値はパスを保持するために必要なバッファーの TCHAR の長さになります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
可能な最大戻り値は 、MAX_PATH +1 (261) です。
注釈
SYSTEM として実行されているプロセスからこの関数を呼び出すと、パス C:\Windows\SystemTemp が返されます。これは、SYSTEM 以外のプロセスではアクセスできません。 SYSTEM 以外のプロセスの場合、 GetTempPath2 は GetTempPath と同じように動作します。
GetTempPath2 関数は、環境変数が次の順序で存在することを確認し、最初に見つかったパスを使用します。
- TMP 環境変数で指定されたパス。
- TEMP 環境変数で指定されたパス。
- USERPROFILE 環境変数で指定されたパス。
- Windows ディレクトリ。
シンボリック リンクの動作 : パスがシンボリック リンクを指している場合、一時パス名はシンボリック リンクを保持します。
Windows 8 と Windows Server 2012 では、この関数は、次のテクノロジによってサポートされています。
テクノロジ | サポートされています |
---|---|
サーバー メッセージ ブロック (SMB) 3.0 プロトコル | はい |
SMB 3.0 Transparent Failover (TFO) | はい |
スケールアウト ファイル共有 (SO) を使う SMB 3.0 | はい |
クラスターの共有ボリューム ファイル システム (CsvFS) | はい |
Resilient File System (ReFS) | はい |
例
例については、「 一時ファイルの作成と使用」を参照してください。
注意
fileapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして GetTempPath2 を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 ビルド 20348 |
サポートされている最小のサーバー | Windows Server ビルド 20348 |
Header | fileapi.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |