CreateSymbolicLinkTransactedA 関数 (winbase.h)

[Microsoft では、開発者がアプリケーションのニーズを達成するために代替手段を利用することを強くお勧めします。 TxF が開発された多くのシナリオは、よりシンプルで利用しやすい手法で実現できます。 また、将来のバージョンの Microsoft Windows では TxF を使用できない場合があります。 詳細、および TxF の代替手段については、「トランザクション NTFS の使用の代替手段」を参照してください。]

トランザクション操作としてシンボリック リンクを作成します。

構文

BOOLEAN CreateSymbolicLinkTransactedA(
  [in] LPCSTR lpSymlinkFileName,
  [in] LPCSTR lpTargetFileName,
  [in] DWORD  dwFlags,
  [in] HANDLE hTransaction
);

パラメーター

[in] lpSymlinkFileName

作成するシンボリック リンク。

[in] lpTargetFileName

作成するシンボリック リンクのターゲットの名前。

lpTargetFileName にデバイス名が関連付けられている場合、リンクは絶対リンクとして扱われます。それ以外の場合、リンクは相対リンクとして扱われます。

[in] dwFlags

リンク ターゲット lpTargetFileName がディレクトリであるかどうかを示します。

意味
0x0
リンク 先はファイルです。
SYMBOLIC_LINK_FLAG_DIRECTORY
0x1
リンク ターゲットはディレクトリです。

[in] hTransaction

トランザクションのハンドル。 このハンドルは、 CreateTransaction 関数によって返されます。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

シンボリック リンクは、絶対リンクと相対リンクのどちらにすることもできます。 絶対リンクは、パス名の各部分を指定するリンクです。相対リンクは、指定されたパス内の相対リンク指定子の場所を基準にして決定されます。 相対リンクは、次の規則を使用して指定されます。

  • ドット (. および ..) の規則 - たとえば、"..\" は親ディレクトリを基準としたパスに解決されます。
  • スラッシュ (\\) のない名前 。たとえば、"tmp" は現在のディレクトリに対する相対パスを解決します。
  • ルート相対 —たとえば、"\Windows\System32" は "current drive:\Windows\System32" に解決されます。
  • 現在の作業ディレクトリの相対 — たとえば、現在の作業ディレクトリが C:\Windows\System32 の場合、"C:File.txt" は "C:\Windows\System32\File.txt" に解決されます。
    現在の作業ディレクトリを基準とするリンクを指定した場合、それは絶対リンクとして作成されます。これは、現在の作業ディレクトリがユーザーとスレッドに基づいて処理されるためです。
     
Windows 8 と Windows Server 2012 では、この関数は、次のテクノロジによってサポートされています。
テクノロジ サポートされています
サーバー メッセージ ブロック (SMB) 3.0 プロトコル いいえ
SMB 3.0 Transparent Failover (TFO) いいえ
スケールアウト ファイル共有 (SO) を使う SMB 3.0 いいえ
クラスターの共有ボリューム ファイル システム (CsvFS) いいえ
Resilient File System (ReFS) いいえ
 

SMB 3.0 は TxF をサポートしていません。

注意

winbase.h ヘッダーは、CreateSymbolicLinkTransacted をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winbase.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

File Management 関数

シンボリック リンク

トランザクション NTFS