[iso] add symlink support for target file systems that support it

* For now that means only NTFS. And we only do that for ISO-9660/Rock Ridge images.
This commit is contained in:
Pete Batard 2023-10-12 17:32:20 +01:00
parent 0bd38abd4e
commit e9d588a6e0
No known key found for this signature in database
GPG key ID: 38E0CF5E69EDD671
3 changed files with 87 additions and 45 deletions

View file

@ -1233,6 +1233,16 @@ static __inline BOOL MoveFileExU(const char* lpExistingFileName, const char* lpN
return ret;
}
static __inline BOOL CreateSymbolicLinkU(const char* lpSymlinkFileName, const char* lpTargetFileName, DWORD dwFlags)
{
wconvert(lpSymlinkFileName);
wconvert(lpTargetFileName);
BOOL ret = CreateSymbolicLinkW(wlpSymlinkFileName, wlpTargetFileName, dwFlags);
wfree(lpTargetFileName);
wfree(lpSymlinkFileName);
return ret;
}
// The following expects PropertyBuffer to contain a single Unicode string
static __inline BOOL SetupDiGetDeviceRegistryPropertyU(HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData,
DWORD Property, PDWORD PropertyRegDataType, PBYTE PropertyBuffer, DWORD PropertyBufferSize, PDWORD RequiredSize)