| Copyright | 2012 shelarcy |
|---|---|
| License | BSD-style |
| Maintainer | shelarcy@gmail.com |
| Stability | Provisional |
| Portability | Non-portable (Win32 API) |
| Safe Haskell | None |
| Language | Haskell2010 |
System.Win32.WindowsString.SymbolicLink
Description
Handling symbolic link using Win32 API. [Vista of later and desktop app only]
Note: When using the createSymbolicLink* functions without the SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE flag, you should worry about UAC (User Account Control) when use this module's function in your application:
- require to use 'Run As Administrator' to run your application.
- or modify your application's manifect file to add
<requestedExecutionLevel level=
requireAdministratoruiAccess=false/>.
Starting from Windows 10 version 1703 (Creators Update), after enabling
Developer Mode, users can create symbolic links without requiring the
Administrator privilege in the current process. Supply a True flag in
addition to the target and link name to enable this behavior.
Synopsis
- type SymbolicLinkFlags = DWORD
- sYMBOLIC_LINK_FLAG_FILE :: SymbolicLinkFlags
- sYMBOLIC_LINK_FLAG_DIRECTORY :: SymbolicLinkFlags
- sYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE :: SymbolicLinkFlags
- createSymbolicLink :: WindowsPath -> WindowsPath -> SymbolicLinkFlags -> IO ()
- createSymbolicLink' :: WindowsPath -> WindowsPath -> SymbolicLinkFlags -> IO ()
- createSymbolicLinkFile :: WindowsPath -> WindowsPath -> Bool -> IO ()
- createSymbolicLinkDirectory :: WindowsPath -> WindowsPath -> Bool -> IO ()
Documentation
type SymbolicLinkFlags = DWORD Source #
Arguments
| :: WindowsPath | Target file path |
| -> WindowsPath | Symbolic link name |
| -> SymbolicLinkFlags | |
| -> IO () |
createSymbolicLink* functions don't check that file is exist or not.
NOTE: createSymbolicLink* functions are flipped arguments to provide compatibility for Unix,
except createSymbolicLink'.
If you want to create symbolic link by Windows way, use createSymbolicLink' instead.
Arguments
| :: WindowsPath | Symbolic link name |
| -> WindowsPath | Target file path |
| -> SymbolicLinkFlags | |
| -> IO () |
createSymbolicLinkFile Source #
Arguments
| :: WindowsPath | Target file path |
| -> WindowsPath | Symbolic link name |
| -> Bool | Create the symbolic link with the unprivileged mode |
| -> IO () |
createSymbolicLinkDirectory Source #
Arguments
| :: WindowsPath | Target file path |
| -> WindowsPath | Symbolic link name |
| -> Bool | Create the symbolic link with the unprivileged mode |
| -> IO () |