zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

fileapi.h (15759B) - Raw


      1 /**
      2  * This file is part of the mingw-w64 runtime package.
      3  * No warranty is given; refer to the file DISCLAIMER within this package.
      4  */
      5 #ifndef _APISETFILE_
      6 #define _APISETFILE_
      7 
      8 #include <apiset.h>
      9 #include <apisetcconv.h>
     10 #include <minwindef.h>
     11 #include <minwinbase.h>
     12 
     13 #ifdef __cplusplus
     14 extern "C" {
     15 #endif
     16 
     17 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
     18 #define CREATE_NEW 1
     19 #define CREATE_ALWAYS 2
     20 #define OPEN_EXISTING 3
     21 #define OPEN_ALWAYS 4
     22 #define TRUNCATE_EXISTING 5
     23 
     24 #define INVALID_FILE_SIZE ((DWORD)0xffffffff)
     25 #define INVALID_SET_FILE_POINTER ((DWORD)-1)
     26 #define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
     27 #endif
     28 
     29 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= _WIN32_WINNT_WIN10
     30 #define CreateFile __MINGW_NAME_AW(CreateFile)
     31 WINBASEAPI DWORD WINAPI GetFileAttributesW (LPCWSTR lpFileName);
     32 #define GetFileAttributes __MINGW_NAME_AW(GetFileAttributes)
     33 WINBASEAPI DWORD WINAPI SetFilePointer (HANDLE hFile, LONG lDistanceToMove, PLONG lpDistanceToMoveHigh, DWORD dwMoveMethod);
     34 #endif
     35 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || NTDDI_VERSION >= NTDDI_WIN10_19H1 || defined(WINSTORECOMPAT)
     36   typedef struct _BY_HANDLE_FILE_INFORMATION {
     37     DWORD dwFileAttributes;
     38     FILETIME ftCreationTime;
     39     FILETIME ftLastAccessTime;
     40     FILETIME ftLastWriteTime;
     41     DWORD dwVolumeSerialNumber;
     42     DWORD nFileSizeHigh;
     43     DWORD nFileSizeLow;
     44     DWORD nNumberOfLinks;
     45     DWORD nFileIndexHigh;
     46     DWORD nFileIndexLow;
     47   } BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION,
     48     *LPBY_HANDLE_FILE_INFORMATION;
     49   WINBASEAPI WINBOOL WINAPI GetFileInformationByHandle (HANDLE hFile, LPBY_HANDLE_FILE_INFORMATION lpFileInformation);
     50 #endif
     51 
     52 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
     53   WINBASEAPI HANDLE WINAPI CreateFileA (LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
     54   WINBASEAPI WINBOOL WINAPI DefineDosDeviceW (DWORD dwFlags, LPCWSTR lpDeviceName, LPCWSTR lpTargetPath);
     55   WINBASEAPI WINBOOL WINAPI FindCloseChangeNotification (HANDLE hChangeHandle);
     56   WINBASEAPI HANDLE WINAPI FindFirstChangeNotificationA (LPCSTR lpPathName, WINBOOL bWatchSubtree, DWORD dwNotifyFilter);
     57   WINBASEAPI HANDLE WINAPI FindFirstChangeNotificationW (LPCWSTR lpPathName, WINBOOL bWatchSubtree, DWORD dwNotifyFilter);
     58   WINBASEAPI HANDLE WINAPI FindFirstVolumeW (LPWSTR lpszVolumeName, DWORD cchBufferLength);
     59   WINBASEAPI WINBOOL WINAPI FindNextChangeNotification (HANDLE hChangeHandle);
     60   WINBASEAPI WINBOOL WINAPI FindNextVolumeW (HANDLE hFindVolume, LPWSTR lpszVolumeName, DWORD cchBufferLength);
     61   WINBASEAPI WINBOOL WINAPI FindVolumeClose (HANDLE hFindVolume);
     62 #endif
     63 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || defined(WINSTORECOMPAT)
     64   WINBASEAPI HANDLE WINAPI CreateFileW (LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
     65   WINBASEAPI DWORD WINAPI GetFileSize (HANDLE hFile, LPDWORD lpFileSizeHigh);
     66 #endif
     67 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= _WIN32_WINNT_WIN10
     68   WINBASEAPI LONG WINAPI CompareFileTime (CONST FILETIME *lpFileTime1, CONST FILETIME *lpFileTime2);
     69   WINBASEAPI WINBOOL WINAPI DeleteVolumeMountPointW (LPCWSTR lpszVolumeMountPoint);
     70   WINBASEAPI WINBOOL WINAPI FileTimeToLocalFileTime (CONST FILETIME *lpFileTime, LPFILETIME lpLocalFileTime);
     71   WINBASEAPI HANDLE WINAPI FindFirstFileA (LPCSTR lpFileName, LPWIN32_FIND_DATAA lpFindFileData);
     72   WINBASEAPI HANDLE WINAPI FindFirstFileW (LPCWSTR lpFileName, LPWIN32_FIND_DATAW lpFindFileData);
     73   WINBASEAPI WINBOOL WINAPI GetDiskFreeSpaceA (LPCSTR lpRootPathName, LPDWORD lpSectorsPerCluster, LPDWORD lpBytesPerSector, LPDWORD lpNumberOfFreeClusters, LPDWORD lpTotalNumberOfClusters);
     74   WINBASEAPI WINBOOL WINAPI GetDiskFreeSpaceW (LPCWSTR lpRootPathName, LPDWORD lpSectorsPerCluster, LPDWORD lpBytesPerSector, LPDWORD lpNumberOfFreeClusters, LPDWORD lpTotalNumberOfClusters);
     75   WINBASEAPI UINT WINAPI GetDriveTypeA (LPCSTR lpRootPathName);
     76   WINBASEAPI UINT WINAPI GetDriveTypeW (LPCWSTR lpRootPathName);
     77   WINBASEAPI DWORD WINAPI GetFileAttributesA (LPCSTR lpFileName);
     78   WINBASEAPI WINBOOL WINAPI GetFileSizeEx (HANDLE hFile, PLARGE_INTEGER lpFileSize);
     79   WINBASEAPI WINBOOL WINAPI GetFileTime (HANDLE hFile, LPFILETIME lpCreationTime, LPFILETIME lpLastAccessTime, LPFILETIME lpLastWriteTime);
     80   WINBASEAPI DWORD WINAPI GetFileType (HANDLE hFile);
     81   WINBASEAPI DWORD WINAPI GetFullPathNameA (LPCSTR lpFileName, DWORD nBufferLength, LPSTR lpBuffer, LPSTR *lpFilePart);
     82   WINBASEAPI DWORD WINAPI GetFullPathNameW (LPCWSTR lpFileName, DWORD nBufferLength, LPWSTR lpBuffer, LPWSTR *lpFilePart);
     83   WINBASEAPI DWORD WINAPI GetLogicalDrives (VOID);
     84 #define FindFirstFile __MINGW_NAME_AW(FindFirstFile)
     85 #define GetDiskFreeSpace __MINGW_NAME_AW(GetDiskFreeSpace)
     86 #define GetDriveType __MINGW_NAME_AW(GetDriveType)
     87 #define GetFullPathName __MINGW_NAME_AW(GetFullPathName)
     88 #endif
     89 
     90 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || (NTDDI_VERSION >= NTDDI_WIN10_VB)
     91   WINBASEAPI WINBOOL WINAPI GetVolumeNameForVolumeMountPointW (LPCWSTR lpszVolumeMountPoint, LPWSTR lpszVolumeName, DWORD cchBufferLength);
     92   WINBASEAPI WINBOOL WINAPI GetVolumePathNameW (LPCWSTR lpszFileName, LPWSTR lpszVolumePathName, DWORD cchBufferLength);
     93   WINBASEAPI WINBOOL WINAPI ReadFileScatter (HANDLE hFile, FILE_SEGMENT_ELEMENT aSegmentArray[], DWORD nNumberOfBytesToRead, LPDWORD lpReserved, LPOVERLAPPED lpOverlapped);
     94   WINBASEAPI WINBOOL WINAPI SetFileValidData (HANDLE hFile, LONGLONG ValidDataLength);
     95   WINBASEAPI WINBOOL WINAPI WriteFileGather (HANDLE hFile, FILE_SEGMENT_ELEMENT aSegmentArray[], DWORD nNumberOfBytesToWrite, LPDWORD lpReserved, LPOVERLAPPED lpOverlapped);
     96 #ifdef UNICODE
     97 #define GetVolumePathName GetVolumePathNameW
     98 #define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointW
     99 #endif
    100 #endif
    101 
    102 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
    103   WINBASEAPI DWORD WINAPI GetLogicalDriveStringsW (DWORD nBufferLength, LPWSTR lpBuffer);
    104   WINBASEAPI DWORD WINAPI GetShortPathNameW (LPCWSTR lpszLongPath, LPWSTR lpszShortPath, DWORD cchBuffer);
    105   WINBASEAPI DWORD WINAPI QueryDosDeviceW (LPCWSTR lpDeviceName, LPWSTR lpTargetPath, DWORD ucchMax);
    106   WINBASEAPI WINBOOL WINAPI GetVolumePathNamesForVolumeNameW (LPCWSTR lpszVolumeName, LPWCH lpszVolumePathNames, DWORD cchBufferLength, PDWORD lpcchReturnLength);
    107 
    108 #ifdef UNICODE
    109 #define DefineDosDevice DefineDosDeviceW
    110 #define DeleteVolumeMountPoint DeleteVolumeMountPointW
    111 #define FindFirstVolume FindFirstVolumeW
    112 #define FindNextVolume FindNextVolumeW
    113 #define GetLogicalDriveStrings GetLogicalDriveStringsW
    114 #define GetShortPathName GetShortPathNameW
    115 #define GetVolumeInformation GetVolumeInformationW
    116 #define QueryDosDevice QueryDosDeviceW
    117 #define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointW
    118 #define GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameW
    119 #endif
    120 #define FindFirstChangeNotification __MINGW_NAME_AW(FindFirstChangeNotification)
    121 #define GetLongPathName __MINGW_NAME_AW(GetLongPathName)
    122 #define GetTempFileName __MINGW_NAME_AW(GetTempFileName)
    123 
    124 
    125 #if _WIN32_WINNT >= 0x0600
    126   WINBASEAPI WINBOOL WINAPI GetVolumeInformationByHandleW (HANDLE hFile, LPWSTR lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength, LPDWORD lpFileSystemFlags, LPWSTR lpFileSystemNameBuffer, DWORD nFileSystemNameSize);
    127 #endif
    128 
    129 #if NTDDI_VERSION >= NTDDI_WIN10_FE
    130   WINBASEAPI WINBOOL WINAPI AreShortNamesEnabled (HANDLE Handle, WINBOOL *Enabled);
    131 #endif
    132 
    133 #endif /* WINAPI_PARTITION_DESKTOP */
    134 
    135 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
    136   WINBASEAPI DWORD WINAPI GetLongPathNameA (LPCSTR lpszShortPath, LPSTR lpszLongPath, DWORD cchBuffer);
    137   WINBASEAPI DWORD WINAPI GetLongPathNameW (LPCWSTR lpszShortPath, LPWSTR lpszLongPath, DWORD cchBuffer);
    138   WINBASEAPI UINT WINAPI GetTempFileNameA (LPCSTR lpPathName, LPCSTR lpPrefixString, UINT uUnique, LPSTR lpTempFileName);
    139   WINBASEAPI UINT WINAPI GetTempFileNameW (LPCWSTR lpPathName, LPCWSTR lpPrefixString, UINT uUnique, LPWSTR lpTempFileName);
    140   WINBASEAPI WINBOOL WINAPI GetVolumeInformationW (LPCWSTR lpRootPathName, LPWSTR lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength, LPDWORD lpFileSystemFlags, LPWSTR lpFileSystemNameBuffer, DWORD nFileSystemNameSize);
    141   WINBASEAPI WINBOOL WINAPI LocalFileTimeToFileTime (CONST FILETIME *lpLocalFileTime, LPFILETIME lpFileTime);
    142   WINBASEAPI WINBOOL WINAPI LockFile (HANDLE hFile, DWORD dwFileOffsetLow, DWORD dwFileOffsetHigh, DWORD nNumberOfBytesToLockLow, DWORD nNumberOfBytesToLockHigh);
    143   WINBASEAPI WINBOOL WINAPI ReadFileEx (HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
    144   WINBASEAPI WINBOOL WINAPI SetFileTime (HANDLE hFile, CONST FILETIME *lpCreationTime, CONST FILETIME *lpLastAccessTime, CONST FILETIME *lpLastWriteTime);
    145   WINBASEAPI WINBOOL WINAPI UnlockFile (HANDLE hFile, DWORD dwFileOffsetLow, DWORD dwFileOffsetHigh, DWORD nNumberOfBytesToUnlockLow, DWORD nNumberOfBytesToUnlockHigh);
    146   WINBASEAPI WINBOOL WINAPI WriteFileEx (HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
    147 
    148 #if _WIN32_WINNT >= 0x0600
    149   WINBASEAPI DWORD WINAPI GetFinalPathNameByHandleA (HANDLE hFile, LPSTR lpszFilePath, DWORD cchFilePath, DWORD dwFlags);
    150   WINBASEAPI DWORD WINAPI GetFinalPathNameByHandleW (HANDLE hFile, LPWSTR lpszFilePath, DWORD cchFilePath, DWORD dwFlags);
    151 
    152 #define GetFinalPathNameByHandle __MINGW_NAME_AW(GetFinalPathNameByHandle)
    153 #endif
    154   typedef struct _WIN32_FILE_ATTRIBUTE_DATA {
    155     DWORD dwFileAttributes;
    156     FILETIME ftCreationTime;
    157     FILETIME ftLastAccessTime;
    158     FILETIME ftLastWriteTime;
    159     DWORD nFileSizeHigh;
    160     DWORD nFileSizeLow;
    161   } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
    162 
    163 #if _WIN32_WINNT >= 0x0602
    164   typedef struct _CREATEFILE2_EXTENDED_PARAMETERS {
    165     DWORD dwSize;
    166     DWORD dwFileAttributes;
    167     DWORD dwFileFlags;
    168     DWORD dwSecurityQosFlags;
    169     LPSECURITY_ATTRIBUTES lpSecurityAttributes;
    170     HANDLE hTemplateFile;
    171   } CREATEFILE2_EXTENDED_PARAMETERS, *PCREATEFILE2_EXTENDED_PARAMETERS,
    172     *LPCREATEFILE2_EXTENDED_PARAMETERS;
    173 #endif
    174 
    175   typedef struct DISK_SPACE_INFORMATION {
    176     ULONGLONG ActualTotalAllocationUnits;
    177     ULONGLONG ActualAvailableAllocationUnits;
    178     ULONGLONG ActualPoolUnavailableAllocationUnits;
    179     ULONGLONG CallerTotalAllocationUnits;
    180     ULONGLONG CallerAvailableAllocationUnits;
    181     ULONGLONG CallerPoolUnavailableAllocationUnits;
    182     ULONGLONG UsedAllocationUnits;
    183     ULONGLONG TotalReservedAllocationUnits;
    184     ULONGLONG VolumeStorageReserveAllocationUnits;
    185     ULONGLONG AvailableCommittedAllocationUnits;
    186     ULONGLONG PoolAvailableAllocationUnits;
    187     DWORD SectorsPerAllocationUnit;
    188     DWORD BytesPerSector;
    189   } DISK_SPACE_INFORMATION;
    190 
    191   WINBASEAPI WINBOOL WINAPI CreateDirectoryA (LPCSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
    192   WINBASEAPI WINBOOL WINAPI CreateDirectoryW (LPCWSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
    193   WINBASEAPI WINBOOL WINAPI DeleteFileA (LPCSTR lpFileName);
    194   WINBASEAPI WINBOOL WINAPI DeleteFileW (LPCWSTR lpFileName);
    195   WINBASEAPI WINBOOL WINAPI FindClose (HANDLE hFindFile);
    196   WINBASEAPI HANDLE WINAPI FindFirstFileExA (LPCSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags);
    197   WINBASEAPI HANDLE WINAPI FindFirstFileExW (LPCWSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags);
    198   WINBASEAPI WINBOOL WINAPI FindNextFileA (HANDLE hFindFile, LPWIN32_FIND_DATAA lpFindFileData);
    199   WINBASEAPI WINBOOL WINAPI FindNextFileW (HANDLE hFindFile, LPWIN32_FIND_DATAW lpFindFileData);
    200   WINBASEAPI WINBOOL WINAPI FlushFileBuffers (HANDLE hFile);
    201   WINBASEAPI WINBOOL WINAPI GetDiskFreeSpaceExA (LPCSTR lpDirectoryName, PULARGE_INTEGER lpFreeBytesAvailableToCaller, PULARGE_INTEGER lpTotalNumberOfBytes, PULARGE_INTEGER lpTotalNumberOfFreeBytes);
    202   WINBASEAPI WINBOOL WINAPI GetDiskFreeSpaceExW (LPCWSTR lpDirectoryName, PULARGE_INTEGER lpFreeBytesAvailableToCaller, PULARGE_INTEGER lpTotalNumberOfBytes, PULARGE_INTEGER lpTotalNumberOfFreeBytes);
    203   WINBASEAPI WINBOOL WINAPI GetFileAttributesExA (LPCSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation);
    204   WINBASEAPI WINBOOL WINAPI GetFileAttributesExW (LPCWSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation);
    205   WINBASEAPI WINBOOL WINAPI LockFileEx (HANDLE hFile, DWORD dwFlags, DWORD dwReserved, DWORD nNumberOfBytesToLockLow, DWORD nNumberOfBytesToLockHigh, LPOVERLAPPED lpOverlapped);
    206   WINBASEAPI WINBOOL WINAPI ReadFile (HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped);
    207   WINBASEAPI WINBOOL WINAPI RemoveDirectoryA (LPCSTR lpPathName);
    208   WINBASEAPI WINBOOL WINAPI RemoveDirectoryW (LPCWSTR lpPathName);
    209   WINBASEAPI WINBOOL WINAPI SetEndOfFile (HANDLE hFile);
    210   WINBASEAPI WINBOOL WINAPI SetFileAttributesA (LPCSTR lpFileName, DWORD dwFileAttributes);
    211   WINBASEAPI WINBOOL WINAPI SetFileAttributesW (LPCWSTR lpFileName, DWORD dwFileAttributes);
    212   WINBASEAPI WINBOOL WINAPI SetFilePointerEx (HANDLE hFile, LARGE_INTEGER liDistanceToMove, PLARGE_INTEGER lpNewFilePointer, DWORD dwMoveMethod);
    213   WINBASEAPI WINBOOL WINAPI UnlockFileEx (HANDLE hFile, DWORD dwReserved, DWORD nNumberOfBytesToUnlockLow, DWORD nNumberOfBytesToUnlockHigh, LPOVERLAPPED lpOverlapped);
    214   WINBASEAPI WINBOOL WINAPI WriteFile (HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped);
    215   WINBASEAPI DWORD WINAPI GetTempPathA (DWORD nBufferLength, LPSTR lpBuffer);
    216   WINBASEAPI DWORD WINAPI GetTempPathW (DWORD nBufferLength, LPWSTR lpBuffer);
    217   WINBASEAPI HRESULT WINAPI GetDiskSpaceInformationA (LPCSTR rootPath, DISK_SPACE_INFORMATION *diskSpaceInfo);
    218   WINBASEAPI HRESULT WINAPI GetDiskSpaceInformationW (LPCWSTR rootPath, DISK_SPACE_INFORMATION *diskSpaceInfo);
    219 
    220 #define CreateDirectory __MINGW_NAME_AW(CreateDirectory)
    221 #define DeleteFile __MINGW_NAME_AW(DeleteFile)
    222 #define FindFirstFileEx __MINGW_NAME_AW(FindFirstFileEx)
    223 #define FindNextFile __MINGW_NAME_AW(FindNextFile)
    224 #define GetDiskFreeSpaceEx __MINGW_NAME_AW(GetDiskFreeSpaceEx)
    225 #define GetFileAttributesEx __MINGW_NAME_AW(GetFileAttributesEx)
    226 #define RemoveDirectory __MINGW_NAME_AW(RemoveDirectory)
    227 #define SetFileAttributes __MINGW_NAME_AW(SetFileAttributes)
    228 #define GetTempPath __MINGW_NAME_AW(GetTempPath)
    229 #define GetDiskSpaceInformation __MINGW_NAME_AW(GetDiskSpaceInformation)
    230 
    231 #if _WIN32_WINNT >= 0x0600
    232   WINBASEAPI WINBOOL WINAPI SetFileInformationByHandle (HANDLE hFile, FILE_INFO_BY_HANDLE_CLASS FileInformationClass, LPVOID lpFileInformation, DWORD dwBufferSize);
    233 #endif
    234 #if _WIN32_WINNT >= 0x0602
    235   WINBASEAPI HANDLE WINAPI CreateFile2 (LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, DWORD dwCreationDisposition, LPCREATEFILE2_EXTENDED_PARAMETERS pCreateExParams);
    236 #endif
    237 #if NTDDI_VERSION >= NTDDI_WIN10_FE
    238   WINBASEAPI DWORD WINAPI GetTempPath2W (DWORD BufferLength, LPWSTR Buffer);
    239   WINBASEAPI DWORD WINAPI GetTempPath2A (DWORD BufferLength, LPSTR Buffer);
    240 #define GetTempPath2 __MINGW_NAME_AW(GetTempPath2)
    241 #endif
    242 
    243 #endif /* WINAPI_PARTITION_APP */
    244 
    245 #ifdef __cplusplus
    246 }
    247 #endif
    248 #endif