NTSTATUS DokanSetBasicInformation( PEVENT_CONTEXT EventContext, PDOKAN_FILE_INFO FileInfo, PDOKAN_OPERATIONS DokanOperations) { FILETIME creation, lastAccess, lastWrite; NTSTATUS status = STATUS_NOT_IMPLEMENTED; PFILE_BASIC_INFORMATION basicInfo = (PFILE_BASIC_INFORMATION)((PCHAR)EventContext + EventContext->Operation.SetFile.BufferOffset); if (!DokanOperations->SetFileAttributes) return STATUS_NOT_IMPLEMENTED; if (!DokanOperations->SetFileTime) return STATUS_NOT_IMPLEMENTED; status = DokanOperations->SetFileAttributes( EventContext->Operation.SetFile.FileName, basicInfo->FileAttributes, FileInfo); if (status > 0) return status; creation.dwLowDateTime = basicInfo->CreationTime.LowPart; creation.dwHighDateTime = basicInfo->CreationTime.HighPart; lastAccess.dwLowDateTime = basicInfo->LastAccessTime.LowPart; lastAccess.dwHighDateTime = basicInfo->LastAccessTime.HighPart; lastWrite.dwLowDateTime = basicInfo->LastWriteTime.LowPart; lastWrite.dwHighDateTime = basicInfo->LastWriteTime.HighPart; return DokanOperations->SetFileTime( EventContext->Operation.SetFile.FileName, &creation, &lastAccess, &lastWrite, FileInfo); }