2 * PROJECT: ReactOS Setup Library
3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4 * PURPOSE: File support functions.
5 * COPYRIGHT: Copyright 2017-2018 Hermes Belusca-Maito
13 IN BOOLEAN ForceDelete
); // ForceDelete can be used to delete read-only files
17 IN PCWSTR SourceFileName
,
18 IN PCWSTR DestinationFileName
,
19 IN BOOLEAN FailIfExists
);
23 #define MOVEFILE_REPLACE_EXISTING 1
24 #define MOVEFILE_COPY_ALLOWED 2
25 #define MOVEFILE_WRITE_THROUGH 8
31 IN PCWSTR ExistingFileName
,
32 IN PCWSTR NewFileName
,
37 IN OUT PWSTR PathBuffer
,
38 IN SIZE_T cchPathSize
,
39 IN ULONG NumberOfPathComponents
,
40 IN
va_list PathComponentsList
);
45 IN SIZE_T cchPathSize
,
46 IN ULONG NumberOfPathComponents
,
47 IN
va_list PathComponentsList
);
51 IN OUT PWSTR PathBuffer
,
52 IN SIZE_T cchPathSize
,
53 IN ULONG NumberOfPathComponents
,
59 IN SIZE_T cchPathSize
,
60 IN ULONG NumberOfPathComponents
,
65 IN HANDLE RootDirectory OPTIONAL
,
67 IN BOOLEAN IsDirectory
);
69 #define DoesDirExist(RootDirectory, DirName) \
70 DoesPathExist((RootDirectory), (DirName), TRUE)
72 #define DoesFileExist(RootDirectory, FileName) \
73 DoesPathExist((RootDirectory), (FileName), FALSE)
75 // FIXME: DEPRECATED! HACKish function that needs to be deprecated!
78 IN PCWSTR PathName OPTIONAL
,
82 NtPathToDiskPartComponents(
84 OUT PULONG pDiskNumber
,
85 OUT PULONG pPartNumber
,
86 OUT PCWSTR
* PathComponent OPTIONAL
);
90 IN HANDLE RootDirectory OPTIONAL
,
91 IN PCWSTR PathNameToFile
,
92 OUT PHANDLE FileHandle
, // IN OUT PHANDLE OPTIONAL
93 OUT PHANDLE SectionHandle
,
94 OUT PVOID
* BaseAddress
,
95 OUT PULONG FileSize OPTIONAL
,
96 IN BOOLEAN ReadWriteAccess
);
100 IN HANDLE SectionHandle
,
101 IN PVOID BaseAddress
);
103 #define UnMapAndCloseFile(FileHandle, SectionHandle, BaseAddress) \
105 UnMapFile((SectionHandle), (BaseAddress)); \
106 NtClose(FileHandle); \