![]() |
#10 |
Участник
|
Попробовал присвоить времена одного локльного файла на машине клиента другому. Переписал WinAPI::setFileTimeServer2Client функцию в локальный job... С локальными файлами все работает нормально (см код и рисунок ниже)
X++: static void Job11(Args _args) { #winAPI #define.firstFile('c:\\test1.txt') #define.secondFile('c:\\test2.txt') #define.offset0(0) #define.offset4(4) #define.offset8(8) int hFile1, hFile2; Binary created_1, accessed_1, modified_1; Binary created_2 = new Binary(#Offset8); Binary accessed_2 = new Binary(#Offset8); Binary modified_2 = new Binary(#Offset8); ; print 'Время первого файла: ', time2str(WinAPI::getFileTimeEx(#firstFile,2),1,1); print 'Время второго файла: ', time2str(WinAPI::getFileTimeEx(#secondFile,2),1,1); hFile1 = WinAPI::createFile(#firstFile,#OPEN_EXISTING); if(hFile1) { created_1 = WinAPI::getFileTime(hFile1, 0); // createdServer = WinAPI::getFileTimeServer(serverhFile, 0); accessed_1 = WinAPI::getFileTime(hFile1, 1); // accessedServer = WinAPI::getFileTimeServer(serverhFile, 1); modified_1 = WinAPI::getFileTime(hFile1, 2); // modifiedServer = WinAPI::getFileTimeServer(serverhFile, 2); WinAPI::closeHandle(hFile1); if (created_1 && accessed_1 && modified_1) { created_2.dWord(#offset0, created_1.dWord(#offset0)); created_2.dWord(#offset4, created_1.dWord(#offset4)); accessed_2.dWord(#offset0, accessed_1.dWord(#offset0)); accessed_2.dWord(#offset4, accessed_1.dWord(#offset4)); modified_2.dWord(#offset0, modified_1.dWord(#offset0)); modified_2.dWord(#offset4, modified_1.dWord(#offset4)); hFile2 = WinAPI::createFile(#secondFile, #OPEN_EXISTING, #GENERIC_WRITE); if (hFile2) { print WinAPI::setFileTime(hFile2, created_2, accessed_2, modified_2); WinAPI::closeHandle(hFile2); } } } print 'Время первого файла: ', time2str(WinAPI::getFileTimeEx(#firstFile,2),1,1); print 'Время второго файла: ', time2str(WinAPI::getFileTimeEx(#secondFile,2),1,1); pause; } Выходит, что функция modifiedServer = WinAPI::getFileTimeServer(serverhFile, 2); возвращает неверное значение Есть мысли?
__________________
Дмитрий Гришин |
|