GetFullPathNameTransactedA 関数 (winbase.h)
[Microsoft では、開発者がアプリケーションのニーズを達成するために代替手段を利用することを強くお勧めします。 TxF が開発された多くのシナリオは、よりシンプルで簡単に利用できる手法によって実現できます。 さらに、将来のバージョンの Microsoft Windows では TxF を使用できない可能性があります。 詳細と TxF の代替方法については、「トランザクション NTFSを使用する
トランザクション操作として、指定したファイルの完全なパスとファイル名を取得します。
トランザクションなしでこの操作を実行するには、GetFullPathName 関数を使用します。
ファイル名とパス名の詳細については、「ファイル名、パス、および名前空間のを参照してください。
構文
DWORD GetFullPathNameTransactedA(
[in] LPCSTR lpFileName,
[in] DWORD nBufferLength,
[out] LPSTR lpBuffer,
[out] LPSTR *lpFilePart,
[in] HANDLE hTransaction
);
パラメーター
[in] lpFileName
ファイルの名前。
この文字列では、短い (8.3 形式) または長いファイル名を使用できます。 この文字列には、共有名またはボリューム名を指定できます。
ファイルはローカル コンピューターに存在する必要があります。それ以外の場合、関数は失敗し、最後のエラー コードは ERROR_TRANSACTIONS_UNSUPPORTED_REMOTEに設定されます。
[in] nBufferLength
ドライブとパスの null で終わる文字列を受け取るバッファーのサイズ (TCHAR)。
[out] lpBuffer
ドライブとパスの null で終わる文字列を受け取るバッファーへのポインター。
[out] lpFilePart
パス内の最終的なファイル名コンポーネントのアドレス (lpBuffer内) を受け取るバッファーへのポインター。 この情報 受け取る必要がない場合は、NULL を指定します。
lpBuffer
[in] hTransaction
トランザクションのハンドル。 このハンドルは、CreateTransaction 関数によって返されます。
戻り値
関数が成功した場合、戻り値は、終端の null 文字を含まない、lpBufferにコピーされた文字列の長さ (
lpBuffer バッファーが小さすぎてパスを格納できない場合、戻り値は、パスと終端の null 文字を保持するために必要なバッファーのサイズ (TCHAR) です。
その他の理由で関数が失敗した場合、戻り値は 0 になります。 拡張エラー情報を取得するには、GetLastError
備考
GetFullPathNameTransacted は、現在のドライブとディレクトリの名前を指定したファイル名とマージして、指定したファイルの完全なパスとファイル名を決定します。 また、完全パスとファイル名のファイル名部分のアドレスも計算されます。 この関数は、結果のパスとファイル名が有効であること、または関連するボリューム上の既存のファイルが表示されることを確認しません。
共有名とボリューム名は、lpFileName
- "\\test-2\q$\lh" を指定すると、返されるパスは "\\test-2\q$\lh" になります。
- "\\?\UNC\test-2\q$\lh" を指定すると、返されるパスは "\\?\UNC\test-2\q$\lh" になります。
- "U:" を指定すると、返されるパスは "U:\" になります。
戻り値が nBufferLengthで指定
テクノロジー | サポート |
---|---|
サーバー メッセージ ブロック (SMB) 3.0 プロトコル | いいえ |
SMB 3.0 透過的フェールオーバー (TFO) | いいえ |
SMB 3.0 とスケールアウト ファイル共有 (SO) | いいえ |
クラスター共有ボリューム ファイル システム (CsvFS) | いいえ |
回復性のあるファイル システム (ReFS) | いいえ |
SMB 3.0 は TxF をサポートしていません。
手記
winbase.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして GetFullPathNameTransacted を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2008 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winbase.h (Windows.h を含む) |
ライブラリ | Kernel32.lib |
DLL | Kernel32.dll |
関連項目
GetFullPathName の
GetLongPathNameTransacted の
GetShortPathName を
GetTempPath を
トランザクション NTFS の