X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=src%2Fwin32_common.c;h=e3dace38946f8f912b4ded844662c49bc8bef4ad;hb=8fc9b6f370468126f775fe5d0845dd4417c15a42;hp=5a2b79481f49c592858c2cd081fbc4ccf31c1597;hpb=761a138b6419c30f6213af46186f678600750404;p=wimlib diff --git a/src/win32_common.c b/src/win32_common.c index 5a2b7948..e3dace38 100644 --- a/src/win32_common.c +++ b/src/win32_common.c @@ -520,6 +520,7 @@ win32_open_file_data_only(const wchar_t *path) return win32_open_existing_file(path, FILE_READ_DATA); } +#ifndef WITH_NTDLL /* Pointers to functions that are not available on all targetted versions of * Windows (XP and later). NOTE: The WINAPI annotations seem to be important; I * assume it specifies a certain calling convention. */ @@ -533,6 +534,12 @@ HANDLE (WINAPI *win32func_FindFirstStreamW)(LPCWSTR lpFileName, /* Vista and later */ BOOL (WINAPI *win32func_FindNextStreamW)(HANDLE hFindStream, LPVOID lpFindStreamData) = NULL; +#endif /* !WITH_NTDLL */ + +/* 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), @@ -573,6 +580,7 @@ win32_global_init(int init_flags) hKernel32 = LoadLibrary(L"Kernel32.dll"); if (hKernel32) { + #ifndef WITH_NTDLL win32func_FindFirstStreamW = (void*)GetProcAddress(hKernel32, "FindFirstStreamW"); if (win32func_FindFirstStreamW) { @@ -581,6 +589,9 @@ win32_global_init(int init_flags) if (!win32func_FindNextStreamW) win32func_FindFirstStreamW = NULL; } + #endif /* !WITH_NTDLL */ + win32func_CreateSymbolicLinkW = (void*)GetProcAddress(hKernel32, + "CreateSymbolicLinkW"); } return 0;