CreateSymbolicLinkA 関数 (winbase.h)
シンボリック リンクを作成します。
この操作をトランザクション操作として実行するには、CreateSymbolicLinkTransacted 関数を使用します。
構文
BOOLEAN CreateSymbolicLinkA(
[in] LPCSTR lpSymlinkFileName,
[in] LPCSTR lpTargetFileName,
[in] DWORD dwFlags
);
パラメーター
[in] lpSymlinkFileName
作成するシンボリック リンク。
このパラメーターにはパスを含めることができます。
既定では、名前はMAX_PATH文字に制限されています。 この制限を 32,767 文字のワイド文字に拡張するには、パスの先頭に "\\?\" を付けます。 詳細については、「ファイル、パス、および名前空間の名前付け
先端
Windows 10 バージョン 1607 以降では、事前に "\\?\" なしでMAX_PATHの制限を削除することをオプトインできます。 詳細については、「名前付けファイル、パス、および名前空間の」の「パスの最大長制限」セクションを参照してください。
[in] lpTargetFileName
作成するシンボリック リンクのターゲットの名前。
lpTargetFileName
このパラメーターにはパスを含めることができます。
既定では、名前はMAX_PATH文字に制限されています。 この制限を 32,767 文字のワイド文字に拡張するには、パスの先頭に "\\?\" を付けます。 詳細については、「ファイル、パス、および名前空間の名前付け
先端
Windows 10 バージョン 1607 以降では、事前に "\\?\" なしでMAX_PATHの制限を削除することをオプトインできます。 詳細については、「名前付けファイル、パス、および名前空間の」の「パスの最大長制限」セクションを参照してください。
[in] dwFlags
リンク ターゲット (lpTargetFileName
価値 | 意味 |
---|---|
|
リンク 先はファイルです。 |
|
リンク 先はディレクトリです。 |
|
プロセスが昇格されていない場合にシンボリック リンクを作成できるようにするには、このフラグを指定します。 UWP では、開発者モード は、このオプションが機能する前に、まずコンピューターで有効にする必要があります。 MSIX では、このフラグに対して開発者モードを有効にする必要はありません。 |
戻り値
関数が成功した場合、戻り値は 0 以外です。
関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、GetLastError
備考
シンボリック リンクには、絶対リンクまたは相対リンクを指定できます。 絶対リンクは、パス名の各部分を指定するリンクです。相対リンクは、相対リンク指定子が指定されたパス内のどこにあるかを基準にして決定されます。 相対リンクは、次の規則を使用して指定します。
- ドット (. および ..) の規則 (例: "..\" は、親ディレクトリに対する相対パスを解決します。
- スラッシュ (\\) を持たない名前 (たとえば、"tmp" は、現在のディレクトリを基準にしたパスを解決します。
- ルート相対 -たとえば、"\Windows\System32" は "現在のドライブ:\Windows\System32" に解決されます。
- 現在の作業ディレクトリの相対ディレクトリ。たとえば、現在の作業ディレクトリが C:\Windows\System32 の場合、"C:File.txt" は "C:\Windows\System32\File.txt" に解決されます。
注 現在の作業ディレクトリの相対リンクを指定すると、ユーザーとスレッドに基づいて現在の作業ディレクトリが処理されるため、絶対リンクとして作成されます。
Windows 8 および Windows Server 2012 では、この関数は次のテクノロジでサポートされています。
テクノロジー | サポート |
---|---|
サーバー メッセージ ブロック (SMB) 3.0 プロトコル | はい |
SMB 3.0 透過的フェールオーバー (TFO) | はい |
SMB 3.0 とスケールアウト ファイル共有 (SO) | いいえ |
クラスター共有ボリューム ファイル システム (CsvFS) | いいえ |
回復性のあるファイル システム (ReFS) | はい |
CsvFs では、ソフト リンクやその他の再解析ポイントはサポートされていません。
手記
winbase.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして CreateSymbolicLink を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2008 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winbase.h (Windows.h を含む) |
ライブラリ | Kernel32.lib |
DLL | Kernel32.dll |
関連項目
CreateSymbolicLinkTransacted の
シンボリック リンク の