#ifdef _MSC_VER
#pragma once
#endif // _MSC_VER
#ifndef _APISETFILE_
#define _APISETFILE_
#include <apiset.h>
#include <apisetcconv.h>
#include <minwindef.h>
#include <minwinbase.h>
#ifdef __cplusplus
extern
"C"
{
#endif
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#define CREATE_NEW 1
#define CREATE_ALWAYS 2
#define OPEN_EXISTING 3
#define OPEN_ALWAYS 4
#define TRUNCATE_EXISTING 5
#define INVALID_FILE_SIZE ((DWORD)0xFFFFFFFF)
#define INVALID_SET_FILE_POINTER ((DWORD)-1)
#define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
(
_In_ CONST FILETIME* lpFileTime1,
_In_ CONST FILETIME* lpFileTime2
);
(
_In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
(
_In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
#ifdef UNICODE
#define CreateDirectory CreateDirectoryW
#else
#define CreateDirectory CreateDirectoryA
#endif // !UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
(
_In_ DWORD dwDesiredAccess,
_In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
_In_ DWORD dwCreationDisposition,
_In_ DWORD dwFlagsAndAttributes,
_In_opt_ HANDLE hTemplateFile
);
(
_In_ DWORD dwDesiredAccess,
_In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
_In_ DWORD dwCreationDisposition,
_In_ DWORD dwFlagsAndAttributes,
_In_opt_ HANDLE hTemplateFile
);
#ifdef UNICODE
#define CreateFile CreateFileW
#else
#define CreateFile CreateFileA
#endif // !UNICODE
(
_In_ LPCWSTR lpDeviceName,
_In_opt_ LPCWSTR lpTargetPath
);
#ifdef UNICODE
#define DefineDosDevice DefineDosDeviceW
#endif
#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
(
);
(
);
#ifdef UNICODE
#define DeleteFile DeleteFileW
#else
#define DeleteFile DeleteFileA
#endif // !UNICODE
(
_In_ LPCWSTR lpszVolumeMountPoint
);
#ifdef UNICODE
#define DeleteVolumeMountPoint DeleteVolumeMountPointW
#endif
(
_In_ CONST FILETIME* lpFileTime,
_Out_ LPFILETIME lpLocalFileTime
);
(
);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
FindCloseChangeNotification
(
_In_ HANDLE hChangeHandle
);
FindFirstChangeNotificationA
(
_In_ DWORD dwNotifyFilter
);
FindFirstChangeNotificationW
(
_In_ DWORD dwNotifyFilter
);
#ifdef UNICODE
#define FindFirstChangeNotification FindFirstChangeNotificationW
#else
#define FindFirstChangeNotification FindFirstChangeNotificationA
#endif // !UNICODE
#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
(
_Out_ LPWIN32_FIND_DATAA lpFindFileData
);
(
_Out_ LPWIN32_FIND_DATAW lpFindFileData
);
#ifdef UNICODE
#define FindFirstFile FindFirstFileW
#else
#define FindFirstFile FindFirstFileA
#endif // !UNICODE
#if (_WIN32_WINNT >= 0x0400)
(
_In_ FINDEX_INFO_LEVELS fInfoLevelId,
_Out_writes_bytes_(sizeof(WIN32_FIND_DATAA)) LPVOID lpFindFileData,
_In_ FINDEX_SEARCH_OPS fSearchOp,
_Reserved_ LPVOID lpSearchFilter,
_In_ DWORD dwAdditionalFlags
);
(
_In_ FINDEX_INFO_LEVELS fInfoLevelId,
_Out_writes_bytes_(sizeof(WIN32_FIND_DATAW)) LPVOID lpFindFileData,
_In_ FINDEX_SEARCH_OPS fSearchOp,
_Reserved_ LPVOID lpSearchFilter,
_In_ DWORD dwAdditionalFlags
);
#ifdef UNICODE
#define FindFirstFileEx FindFirstFileExW
#else
#define FindFirstFileEx FindFirstFileExA
#endif // !UNICODE
#endif /* _WIN32_WINNT >= 0x0400 */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
(
_Out_writes_(cchBufferLength) LPWSTR lpszVolumeName,
_In_ DWORD cchBufferLength
);
#ifdef UNICODE
#define FindFirstVolume FindFirstVolumeW
#endif // !UNICODE
FindNextChangeNotification
(
_In_ HANDLE hChangeHandle
);
#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
(
_Out_ LPWIN32_FIND_DATAA lpFindFileData
);
(
_Out_ LPWIN32_FIND_DATAW lpFindFileData
);
#ifdef UNICODE
#define FindNextFile FindNextFileW
#else
#define FindNextFile FindNextFileA
#endif // !UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
(
_Inout_ HANDLE hFindVolume,
_Out_writes_(cchBufferLength) LPWSTR lpszVolumeName,
_In_ DWORD cchBufferLength
);
#ifdef UNICODE
#define FindNextVolume FindNextVolumeW
#endif
(
);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
(
);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
(
_In_opt_ LPCSTR lpRootPathName,
_Out_opt_ LPDWORD lpSectorsPerCluster,
_Out_opt_ LPDWORD lpBytesPerSector,
_Out_opt_ LPDWORD lpNumberOfFreeClusters,
_Out_opt_ LPDWORD lpTotalNumberOfClusters
);
(
_In_opt_ LPCWSTR lpRootPathName,
_Out_opt_ LPDWORD lpSectorsPerCluster,
_Out_opt_ LPDWORD lpBytesPerSector,
_Out_opt_ LPDWORD lpNumberOfFreeClusters,
_Out_opt_ LPDWORD lpTotalNumberOfClusters
);
#ifdef UNICODE
#define GetDiskFreeSpace GetDiskFreeSpaceW
#else
#define GetDiskFreeSpace GetDiskFreeSpaceA
#endif // !UNICODE
(
_In_opt_ LPCSTR lpDirectoryName,
_Out_opt_ PULARGE_INTEGER lpFreeBytesAvailableToCaller,
lpFreeBytesAvailableToCaller
,
_Out_opt_ PULARGE_INTEGER lpTotalNumberOfBytes,
_Out_opt_ PULARGE_INTEGER lpTotalNumberOfFreeBytes
);
(
_In_opt_ LPCWSTR lpDirectoryName,
_Out_opt_ PULARGE_INTEGER lpFreeBytesAvailableToCaller,
lpFreeBytesAvailableToCaller
,
_Out_opt_ PULARGE_INTEGER lpTotalNumberOfBytes,
_Out_opt_ PULARGE_INTEGER lpTotalNumberOfFreeBytes
);
#ifdef UNICODE
#define GetDiskFreeSpaceEx GetDiskFreeSpaceExW
#else
#define GetDiskFreeSpaceEx GetDiskFreeSpaceExA
#endif // !UNICODE
typedef
struct
{
;
;
;
;
;
;
;
;
;
;
;
;
;
}
;
(
_In_opt_ LPCSTR rootPath,
_Out_ DISK_SPACE_INFORMATION* diskSpaceInfo
);
(
_In_opt_ LPCWSTR rootPath,
_Out_ DISK_SPACE_INFORMATION* diskSpaceInfo
);
#ifdef UNICODE
#define GetDiskSpaceInformation GetDiskSpaceInformationW
#else
#define GetDiskSpaceInformation GetDiskSpaceInformationA
#endif // !UNICODE
(
_In_opt_ LPCSTR lpRootPathName
);
(
_In_opt_ LPCWSTR lpRootPathName
);
#ifdef UNICODE
#define GetDriveType GetDriveTypeW
#else
#define GetDriveType GetDriveTypeA
#endif // !UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef
struct
_WIN32_FILE_ATTRIBUTE_DATA
{
;
;
;
;
;
;
}
WIN32_FILE_ATTRIBUTE_DATA
, *
LPWIN32_FILE_ATTRIBUTE_DATA
;
(
);
(
);
#ifdef UNICODE
#define GetFileAttributes GetFileAttributesW
#else
#define GetFileAttributes GetFileAttributesA
#endif // !UNICODE
(
_In_ GET_FILEEX_INFO_LEVELS fInfoLevelId,
_Out_writes_bytes_(sizeof(WIN32_FILE_ATTRIBUTE_DATA)) LPVOID lpFileInformation
);
(
_In_ GET_FILEEX_INFO_LEVELS fInfoLevelId,
_Out_writes_bytes_(sizeof(WIN32_FILE_ATTRIBUTE_DATA)) LPVOID lpFileInformation
);
#ifdef UNICODE
#define GetFileAttributesEx GetFileAttributesExW
#else
#define GetFileAttributesEx GetFileAttributesExA
#endif // !UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
typedef
struct
{
;
;
;
;
;
;
;
;
;
;
}
, *
, *
;
(
_Out_ LPBY_HANDLE_FILE_INFORMATION lpFileInformation
LPBY_HANDLE_FILE_INFORMATION
);
(
_Out_opt_ LPDWORD lpFileSizeHigh
);
#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
(
_Out_ PLARGE_INTEGER lpFileSize
);
(
);
#if (_WIN32_WINNT >= 0x0600)
GetFinalPathNameByHandleA
(
_Out_writes_(cchFilePath) LPSTR lpszFilePath,
);
GetFinalPathNameByHandleW
(
_Out_writes_(cchFilePath) LPWSTR lpszFilePath,
);
#ifdef UNICODE
#define GetFinalPathNameByHandle GetFinalPathNameByHandleW
#else
#define GetFinalPathNameByHandle GetFinalPathNameByHandleA
#endif // !UNICODE
#endif // (_WIN32_WINNT >= 0x0600)
(
_Out_opt_ LPFILETIME lpCreationTime,
_Out_opt_ LPFILETIME lpLastAccessTime,
_Out_opt_ LPFILETIME lpLastWriteTime
);
_Success_(return != 0 && return < nBufferLength)
(
_In_ DWORD nBufferLength,
_Out_writes_to_opt_(nBufferLength,return + 1) LPWSTR lpBuffer,
_Outptr_opt_ LPWSTR* lpFilePart
);
#ifdef UNICODE
#define GetFullPathName GetFullPathNameW
#endif
_Success_(return != 0 && return < nBufferLength)
(
_In_ DWORD nBufferLength,
_Out_writes_to_opt_(nBufferLength,return + 1) LPSTR lpBuffer,
_Outptr_opt_ LPSTR* lpFilePart
);
#ifndef UNICODE
#define GetFullPathName GetFullPathNameA
#endif
(
);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
(
_In_ DWORD nBufferLength,
_Out_writes_to_opt_(nBufferLength,return + 1) LPWSTR lpBuffer
);
#ifdef UNICODE
#define GetLogicalDriveStrings GetLogicalDriveStringsW
#endif
_Success_(return != 0 && return < cchBuffer)
(
_In_ LPCSTR lpszShortPath,
_Out_writes_to_opt_(cchBuffer,return + 1) LPSTR lpszLongPath,
);
#ifndef UNICODE
#define GetLongPathName GetLongPathNameA
#endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
_Success_(return != 0 && return < cchBuffer)
(
_In_ LPCWSTR lpszShortPath,
_Out_writes_to_opt_(cchBuffer,return + 1) LPWSTR lpszLongPath,
);
#ifdef UNICODE
#define GetLongPathName GetLongPathNameW
#endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
_Success_(return != 0 && return < cchBuffer)
(
_In_ LPCWSTR lpszLongPath,
_Out_writes_to_opt_(cchBuffer,return + 1) LPWSTR lpszShortPath,
);
#ifdef UNICODE
#define GetShortPathName GetShortPathNameW
#endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
(
_In_ LPCWSTR lpPrefixString,
_Out_writes_(MAX_PATH) LPWSTR lpTempFileName
);
#ifdef UNICODE
#define GetTempFileName GetTempFileNameW
#endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#if (_WIN32_WINNT >= 0x0600)
(
_Out_writes_opt_(nVolumeNameSize) LPWSTR lpVolumeNameBuffer,
_In_ DWORD nVolumeNameSize,
_Out_opt_ LPDWORD lpVolumeSerialNumber,
_Out_opt_ LPDWORD lpMaximumComponentLength,
_Out_opt_ LPDWORD lpFileSystemFlags,
_Out_writes_opt_(nFileSystemNameSize) LPWSTR lpFileSystemNameBuffer,
_In_ DWORD nFileSystemNameSize
);
#endif /* _WIN32_WINNT >= 0x0600 */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
(
_In_opt_ LPCWSTR lpRootPathName,
_Out_writes_opt_(nVolumeNameSize) LPWSTR lpVolumeNameBuffer,
_In_ DWORD nVolumeNameSize,
_Out_opt_ LPDWORD lpVolumeSerialNumber,
_Out_opt_ LPDWORD lpMaximumComponentLength,
_Out_opt_ LPDWORD lpFileSystemFlags,
_Out_writes_opt_(nFileSystemNameSize) LPWSTR lpFileSystemNameBuffer,
_In_ DWORD nFileSystemNameSize
);
#ifdef UNICODE
#define GetVolumeInformation GetVolumeInformationW
#endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
(
_In_ LPCWSTR lpszFileName,
_Out_writes_(cchBufferLength) LPWSTR lpszVolumePathName,
_In_ DWORD cchBufferLength
);
#ifdef UNICODE
#define GetVolumePathName GetVolumePathNameW
#endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
(
_In_ CONST FILETIME* lpLocalFileTime,
_Out_ LPFILETIME lpFileTime
);
(
_In_ DWORD dwFileOffsetLow,
_In_ DWORD dwFileOffsetHigh,
_In_ DWORD nNumberOfBytesToLockLow,
_In_ DWORD nNumberOfBytesToLockHigh
);
(
_Reserved_ DWORD dwReserved,
_In_ DWORD nNumberOfBytesToLockLow,
_In_ DWORD nNumberOfBytesToLockHigh,
_Inout_ LPOVERLAPPED lpOverlapped
);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
(
_In_opt_ LPCWSTR lpDeviceName,
_Out_writes_to_opt_(ucchMax,return) LPWSTR lpTargetPath,
);
#ifdef UNICODE
#define QueryDosDevice QueryDosDeviceW
#endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
_Must_inspect_result_
(
_Out_writes_bytes_to_opt_(nNumberOfBytesToRead, *lpNumberOfBytesRead) __out_data_source(FILE) LPVOID lpBuffer,
_In_ DWORD nNumberOfBytesToRead,
_Out_opt_ LPDWORD lpNumberOfBytesRead,
_Inout_opt_ LPOVERLAPPED lpOverlapped
);
_Must_inspect_result_
(
_Out_writes_bytes_opt_(nNumberOfBytesToRead) __out_data_source(FILE) LPVOID lpBuffer,
_In_ DWORD nNumberOfBytesToRead,
_Inout_ LPOVERLAPPED lpOverlapped,
_In_ LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
LPOVERLAPPED_COMPLETION_ROUTINE
);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
_Must_inspect_result_
(
_In_ FILE_SEGMENT_ELEMENT aSegmentArray[],
_In_ DWORD nNumberOfBytesToRead,
_Reserved_ LPDWORD lpReserved,
_Inout_ LPOVERLAPPED lpOverlapped
);
#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
(
);
(
);
#ifdef UNICODE
#define RemoveDirectory RemoveDirectoryW
#else
#define RemoveDirectory RemoveDirectoryA
#endif // !UNICODE
(
);
(
_In_ DWORD dwFileAttributes
);
(
_In_ DWORD dwFileAttributes
);
#ifdef UNICODE
#define SetFileAttributes SetFileAttributesW
#else
#define SetFileAttributes SetFileAttributesA
#endif // !UNICODE
#if (_WIN32_WINNT >= 0x0600)
(
_In_ FILE_INFO_BY_HANDLE_CLASS FileInformationClass,
FILE_INFO_BY_HANDLE_CLASS
,
_In_reads_bytes_(dwBufferSize) LPVOID lpFileInformation,
);
#endif
(
_In_ LONG lDistanceToMove,
_Inout_opt_ PLONG lpDistanceToMoveHigh,
);
(
_In_ LARGE_INTEGER liDistanceToMove,
_Out_opt_ PLARGE_INTEGER lpNewFilePointer,
);
(
_In_opt_ CONST FILETIME* lpCreationTime,
_In_opt_ CONST FILETIME* lpLastAccessTime,
_In_opt_ CONST FILETIME* lpLastWriteTime
);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#if _WIN32_WINNT >= 0x0501
(
_In_ LONGLONG ValidDataLength
);
#endif // (_WIN32_WINNT >= 0x0501)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
(
_In_ DWORD dwFileOffsetLow,
_In_ DWORD dwFileOffsetHigh,
_In_ DWORD nNumberOfBytesToUnlockLow,
nNumberOfBytesToUnlockLow
,
_In_ DWORD nNumberOfBytesToUnlockHigh
nNumberOfBytesToUnlockHigh
);
(
_Reserved_ DWORD dwReserved,
_In_ DWORD nNumberOfBytesToUnlockLow,
nNumberOfBytesToUnlockLow
,
_In_ DWORD nNumberOfBytesToUnlockHigh,
nNumberOfBytesToUnlockHigh
,
_Inout_ LPOVERLAPPED lpOverlapped
);
(
_In_reads_bytes_opt_(nNumberOfBytesToWrite) LPCVOID lpBuffer,
_In_ DWORD nNumberOfBytesToWrite,
_Out_opt_ LPDWORD lpNumberOfBytesWritten,
_Inout_opt_ LPOVERLAPPED lpOverlapped
);
(
_In_reads_bytes_opt_(nNumberOfBytesToWrite) LPCVOID lpBuffer,
_In_ DWORD nNumberOfBytesToWrite,
_Inout_ LPOVERLAPPED lpOverlapped,
_In_ LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
LPOVERLAPPED_COMPLETION_ROUTINE
);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
(
_In_ FILE_SEGMENT_ELEMENT aSegmentArray[],
_In_ DWORD nNumberOfBytesToWrite,
_Reserved_ LPDWORD lpReserved,
_Inout_ LPOVERLAPPED lpOverlapped
);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
(
_In_ DWORD nBufferLength,
_Out_writes_to_opt_(nBufferLength,return + 1) LPWSTR lpBuffer
);
#ifdef UNICODE
#define GetTempPath GetTempPathW
#endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
GetVolumeNameForVolumeMountPointW
(
_In_ LPCWSTR lpszVolumeMountPoint,
_Out_writes_(cchBufferLength) LPWSTR lpszVolumeName,
_In_ DWORD cchBufferLength
);
#ifdef UNICODE
#define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointW
#endif
#if (_WIN32_WINNT >= 0x0501)
GetVolumePathNamesForVolumeNameW
(
_In_ LPCWSTR lpszVolumeName,
_Out_writes_to_opt_(cchBufferLength,*lpcchReturnLength) _Post_ _NullNull_terminated_ LPWCH lpszVolumePathNames,
_In_ DWORD cchBufferLength,
_Out_ PDWORD lpcchReturnLength
);
#ifdef UNICODE
#define GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameW
#endif
#endif // _WIN32_WINNT >= 0x0501
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#if (_WIN32_WINNT >= 0x0602)
typedef
struct
_CREATEFILE2_EXTENDED_PARAMETERS
{
;
;
;
;
;
;
}
CREATEFILE2_EXTENDED_PARAMETERS
, *
PCREATEFILE2_EXTENDED_PARAMETERS
, *
LPCREATEFILE2_EXTENDED_PARAMETERS
;
(
_In_ DWORD dwDesiredAccess,
_In_ DWORD dwCreationDisposition,
_In_opt_ LPCREATEFILE2_EXTENDED_PARAMETERS pCreateExParams
LPCREATEFILE2_EXTENDED_PARAMETERS
);
#endif // _WIN32_WINNT >= 0x0602
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#if (_WIN32_WINNT >= 0x0600)
(
_In_ PUCHAR OverlappedRangeStart,
);
#endif // _WIN32_WINNT >= 0x0600
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#if _WIN32_WINNT >= 0x0501
(
_Out_opt_ LPDWORD lpFileSizeHigh
);
(
_Out_opt_ LPDWORD lpFileSizeHigh
);
#ifdef UNICODE
#define GetCompressedFileSize GetCompressedFileSizeW
#else
#define GetCompressedFileSize GetCompressedFileSizeA
#endif // !UNICODE
#endif // _WIN32_WINNT >= 0x0501
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#if (_WIN32_WINNT >= 0x0501)
typedef
enum
{
,
FindStreamInfoMaxInfoLevel
}
;
typedef
struct
{
;
WCHAR cStreamName[ MAX_PATH + 36 ];
}
, *
;
(
_In_ STREAM_INFO_LEVELS InfoLevel,
_Out_writes_bytes_(sizeof(WIN32_FIND_STREAM_DATA)) LPVOID lpFindStreamData,
);
(
_Out_writes_bytes_(sizeof(WIN32_FIND_STREAM_DATA)) LPVOID lpFindStreamData
);
#endif // (_WIN32_WINNT >= 0x0501)
(
);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
(
_In_ DWORD nBufferLength,
_Out_writes_to_opt_(nBufferLength,return + 1) LPSTR lpBuffer
);
#ifndef UNICODE
#define GetTempPath GetTempPathA
#endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#if _WIN32_WINNT >= 0x0600
(
_Inout_ LPDWORD StringLength,
_Out_writes_(*StringLength) PWSTR LinkName
);
(
_Inout_ LPDWORD StringLength,
_Out_writes_(*StringLength) PWSTR LinkName
);
#endif // (_WIN32_WINNT >= 0x0600)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
(
_In_opt_ LPCSTR lpRootPathName,
_Out_writes_opt_(nVolumeNameSize) LPSTR lpVolumeNameBuffer,
_In_ DWORD nVolumeNameSize,
_Out_opt_ LPDWORD lpVolumeSerialNumber,
_Out_opt_ LPDWORD lpMaximumComponentLength,
_Out_opt_ LPDWORD lpFileSystemFlags,
_Out_writes_opt_(nFileSystemNameSize) LPSTR lpFileSystemNameBuffer,
_In_ DWORD nFileSystemNameSize
);
#ifndef UNICODE
#define GetVolumeInformation GetVolumeInformationA
#endif
(
_In_ LPCSTR lpPrefixString,
_Out_writes_(MAX_PATH) LPSTR lpTempFileName
);
#ifndef UNICODE
#define GetTempFileName GetTempFileNameA
#endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
(
);
(
);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#ifdef __cplusplus
}
#endif
#endif // _APISETFILE_