Thanks.
IsWindowsVersionOrGreater(10,0,1607) always returns false
Only IsWindowsVersionOrGreater(10,0,0) is a valid call. (There are no
service packs in Windows 10.)
I haven't found a way to determine the Windows 10 release ID.
The RtlGetVersion function returns dwBuildNumber = 19042 on my Windows.
I heard that Microsoft does not support older versions of Windows 10 and
requires a mandatory update.
Victor Spirin
Postgres Professional:http://www.postgrespro.com
The Russian Postgres Company
23.09.2021 14:18, Juan José Santamaría Flecha пишет:
On Tue, Sep 7, 2021 at 11:40 PM Victor Spirin <v.spi...@postgrespro.ru
<mailto:v.spi...@postgrespro.ru>> wrote:
I checked the pgrename_windows_posix_semantics() function on
Windows 7.
It returns error 87: Parameter is incorrect. Hence, it is
necessary to
check the Windows version and call the old pgrename function for old
Windows.
The FILE_RENAME_FLAGs are available starting from Windows 10 Release
id 1607, NTDDI_WIN10_RS1. The check should be using something like
IsWindowsVersionOrGreater(10, 0, 1607). Or you could test this
using RtlGetVersion(), loading it from ntdll infrastructure coming
from stat() patch [1], which doesn't need a manifest.
[1]
https://www.postgresql.org/message-id/flat/CA%2BhUKG%2BoLqfBVJ_j3C03QgoshrX1KxYq0LB1vJV0OXPOcZZfhA%40mail.gmail.com#bfcc256e4eda369e369275f5b4e38185
<https://www.postgresql.org/message-id/flat/CA%2BhUKG%2BoLqfBVJ_j3C03QgoshrX1KxYq0LB1vJV0OXPOcZZfhA%40mail.gmail.com#bfcc256e4eda369e369275f5b4e38185>
Regards,
Juan José Santamaría Flecha