mirror of
https://github.com/libAthena/athena.git
synced 2025-12-18 01:15:21 +00:00
UWP support
This commit is contained in:
@@ -128,7 +128,9 @@ bool FileInfo::touch() const
|
||||
HANDLE fh;
|
||||
wchar_t date[80], time[80];
|
||||
|
||||
#if !WINDOWS_STORE
|
||||
fh = CreateFileA(m_path.c_str(), GENERIC_READ | FILE_WRITE_ATTRIBUTES, 0, NULL, CREATE_NEW, 0, NULL);
|
||||
|
||||
if (fh == INVALID_HANDLE_VALUE)
|
||||
return false;
|
||||
|
||||
@@ -168,6 +170,7 @@ bool FileInfo::touch() const
|
||||
}
|
||||
|
||||
CloseHandle(fh);
|
||||
#endif
|
||||
#elif (defined(HW_RVL) || defined(HW_DOL)) && defined(GEKKO)
|
||||
// Generic portable version, not extremely reliable but does work
|
||||
atUint64 val = 0xCDCDCDCDCD;
|
||||
|
||||
@@ -38,8 +38,13 @@ void FileReader::open()
|
||||
int attempt = 0;
|
||||
do
|
||||
{
|
||||
m_fileHandle = CreateFileW(m_filename.c_str(), GENERIC_READ, FILE_SHARE_READ,
|
||||
nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nullptr);
|
||||
#if WINDOWS_STORE
|
||||
m_fileHandle = CreateFile2(m_filename.c_str(), GENERIC_READ, FILE_SHARE_READ,
|
||||
OPEN_EXISTING, nullptr);
|
||||
#else
|
||||
m_fileHandle = CreateFileW(m_filename.c_str(), GENERIC_READ, FILE_SHARE_READ,
|
||||
nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nullptr);
|
||||
#endif
|
||||
} while (m_fileHandle == INVALID_HANDLE_VALUE && attempt++ < 100);
|
||||
|
||||
if (m_fileHandle == INVALID_HANDLE_VALUE)
|
||||
|
||||
@@ -37,13 +37,23 @@ void FileWriter::open(bool overwrite)
|
||||
if (overwrite)
|
||||
{
|
||||
std::wstring tmpFilename = m_filename + L'~';
|
||||
#if WINDOWS_STORE
|
||||
m_fileHandle = CreateFile2(tmpFilename.c_str(), GENERIC_WRITE, FILE_SHARE_WRITE,
|
||||
CREATE_ALWAYS, nullptr);
|
||||
#else
|
||||
m_fileHandle = CreateFileW(tmpFilename.c_str(), GENERIC_WRITE, FILE_SHARE_WRITE,
|
||||
nullptr, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
#if WINDOWS_STORE
|
||||
m_fileHandle = CreateFile2(m_filename.c_str(), GENERIC_WRITE, FILE_SHARE_WRITE,
|
||||
OPEN_ALWAYS, nullptr);
|
||||
#else
|
||||
m_fileHandle = CreateFileW(m_filename.c_str(), GENERIC_WRITE, FILE_SHARE_WRITE,
|
||||
nullptr, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr);
|
||||
#endif
|
||||
}
|
||||
} while (m_fileHandle == INVALID_HANDLE_VALUE && attempt++ < 100);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user