]> wimlib.net Git - wimlib/blobdiff - src/win32_common.c
Add support for WIMLIB_EXTRACT_FLAG_SYMLINK on Windows
[wimlib] / src / win32_common.c
index 5a2b79481f49c592858c2cd081fbc4ccf31c1597..c347a965030b33eb430b8ec6c01a5a73c42b136b 100644 (file)
@@ -534,6 +534,11 @@ HANDLE (WINAPI *win32func_FindFirstStreamW)(LPCWSTR lpFileName,
 BOOL (WINAPI *win32func_FindNextStreamW)(HANDLE hFindStream,
                                         LPVOID lpFindStreamData) = NULL;
 
+/* Vista and later */
+BOOL (WINAPI *win32func_CreateSymbolicLinkW)(const wchar_t *lpSymlinkFileName,
+                                            const wchar_t *lpTargetFileName,
+                                            DWORD dwFlags) = NULL;
+
 static OSVERSIONINFO windows_version_info = {
        .dwOSVersionInfoSize = sizeof(OSVERSIONINFO),
 };
@@ -581,6 +586,8 @@ win32_global_init(int init_flags)
                        if (!win32func_FindNextStreamW)
                                win32func_FindFirstStreamW = NULL;
                }
+               win32func_CreateSymbolicLinkW = (void*)GetProcAddress(hKernel32,
+                                                                     "CreateSymbolicLinkW");
        }
        return 0;