/
filemgr0.cpp
44 lines (37 loc) · 1.27 KB
/
filemgr0.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "incl.hpp"
#include "filemgr0.hpp"
void ntfiletime2os2(const FILETIME &ft, FDATE *fdate, FTIME *ftime) {
SYSTEMTIME st;
FileTimeToSystemTime(&ft,&st);
fdate->day = st.wDay;
fdate->month = st.wMonth;
fdate->year = (WORD)(st.wYear - 1980);
ftime->twosecs = (WORD)(st.wSecond/2);
ftime->minutes = st.wMinute;
ftime->hours = st.wHour;
}
void ntfileattr2os2(DWORD dwAttrs, ULONG *ulAttrs) {
*ulAttrs = 0;
if(dwAttrs&FILE_ATTRIBUTE_ARCHIVE)
*ulAttrs |= FILE_ARCHIVED;
if(dwAttrs&FILE_ATTRIBUTE_DIRECTORY)
*ulAttrs |= FILE_DIRECTORY;
if(dwAttrs&FILE_ATTRIBUTE_HIDDEN)
*ulAttrs |= FILE_HIDDEN;
if(dwAttrs&FILE_ATTRIBUTE_READONLY)
*ulAttrs |= FILE_READONLY;
if(dwAttrs&FILE_ATTRIBUTE_SYSTEM)
*ulAttrs |= FILE_SYSTEM;
}
void os22ntfiletime(FDATE fdate, FTIME ftime, FILETIME *ft) {
SYSTEMTIME st;
st.wYear = (WORD)(fdate.year + 1980);
st.wMonth = fdate.month;
st.wDay = fdate.day;
st.wHour = ftime.hours;
st.wMinute = ftime.minutes;
st.wSecond = (WORD)(ftime.twosecs*2);
st.wMilliseconds = 0;
SystemTimeToFileTime(&st,ft);
}