public uint Def_FindFiles(string filename, ref FillFindData FillFunction, IntPtr info) { VNode node = new VNode(filename); if (node.isValid) { Console.WriteLine("{0} {1} {2}", node.isFile, node.rootDir, node.curDir); if (node.curDir == node.rootDir) { foreach (string s in services) { WIN32_FIND_DATA Information = new WIN32_FIND_DATA(); Information.cFileName = s; Information.ftCreationTime = HelperFunction.DateTimeToFileTime(DateTime.Now.ToFileTime()); Information.ftLastAccessTime = HelperFunction.DateTimeToFileTime(DateTime.Now.ToFileTime()); Information.ftLastWriteTime = HelperFunction.DateTimeToFileTime(DateTime.Now.ToFileTime()); Information.dwFileAttributes = FileAttributes.Directory | FileAttributes.Readonly; Information.nFileSizeLow = 100000; FillFunction(ref Information, info); } } else { switch (node.curDir) { case "WebSearch": foreach (string s in WebSearch) { WIN32_FIND_DATA Information = new WIN32_FIND_DATA(); Information.cFileName = s; Information.ftCreationTime = HelperFunction.DateTimeToFileTime(DateTime.Now.ToFileTime()); Information.ftLastAccessTime = HelperFunction.DateTimeToFileTime(DateTime.Now.ToFileTime()); Information.ftLastWriteTime = HelperFunction.DateTimeToFileTime(DateTime.Now.ToFileTime()); Information.dwFileAttributes = FileAttributes.Readonly; Information.nFileSizeLow = 100000; FillFunction(ref Information, info); } break; case "ImagePass": foreach (string s in imageFiles) { WIN32_FIND_DATA Information = new WIN32_FIND_DATA(); Information.cFileName = s; Information.ftCreationTime = HelperFunction.DateTimeToFileTime(DateTime.Now.ToFileTime()); Information.ftLastAccessTime = HelperFunction.DateTimeToFileTime(DateTime.Now.ToFileTime()); Information.ftLastWriteTime = HelperFunction.DateTimeToFileTime(DateTime.Now.ToFileTime()); Information.dwFileAttributes = FileAttributes.Readonly; Information.nFileSizeLow = 100000; FillFunction(ref Information, info); } break; default: break; } } } return(0); }
public uint Def_FindFiles(string fileName, ref FillFindData NativeFillFunction, IntPtr info) { try { RegistryFileBlock FileBlock = new RegistryFileBlock(fileName); if (FileBlock.level == 1) { foreach (string name in RootDirectory.Keys) { WIN32_FIND_DATA finfo = new WIN32_FIND_DATA(); finfo.cFileName = name; finfo.dwFileAttributes = (uint)FileAttributes.Directory; finfo.ftLastAccessTime = HelperFunction.DateTimeToFileTime(DateTime.Now.ToFileTime()); finfo.ftLastWriteTime = HelperFunction.DateTimeToFileTime(DateTime.Now.ToFileTime()); finfo.ftCreationTime = HelperFunction.DateTimeToFileTime(DateTime.Now.ToFileTime()); NativeFillFunction(ref finfo, info); } return(0); } else { RegistryKey key = GetRegistoryEntry(FileBlock); if (key == null) { Console.WriteLine("Find File Error {0}", fileName); return(0xC0000467); } foreach (string name in key.GetSubKeyNames()) { WIN32_FIND_DATA finfo = new WIN32_FIND_DATA(); finfo.cFileName = name; finfo.dwFileAttributes = (uint)FileAttributes.Directory; finfo.ftLastAccessTime = HelperFunction.DateTimeToFileTime(DateTime.Now.ToFileTime()); finfo.ftLastWriteTime = HelperFunction.DateTimeToFileTime(DateTime.Now.ToFileTime()); finfo.ftCreationTime = HelperFunction.DateTimeToFileTime(DateTime.Now.ToFileTime()); NativeFillFunction(ref finfo, info); } foreach (string name in key.GetValueNames()) { WIN32_FIND_DATA finfo = new WIN32_FIND_DATA(); switch (key.GetValueKind(name)) { case RegistryValueKind.Binary: finfo.cFileName = name + ".regbin"; break; case RegistryValueKind.DWord: finfo.cFileName = name + ".regdword"; break; case RegistryValueKind.MultiString: finfo.cFileName = name + ".regmltstr"; break; case RegistryValueKind.QWord: finfo.cFileName = name + ".regqwrod"; break; case RegistryValueKind.String: finfo.cFileName = name + ".regstr"; break; case RegistryValueKind.ExpandString: finfo.cFileName = name + ".regexpstr"; break; case RegistryValueKind.Unknown: finfo.cFileName = name + ".regunk"; break; default: break; } // finfo.cFileName = name; finfo.dwFileAttributes = (uint)FileAttributes.Readonly; finfo.ftLastAccessTime = HelperFunction.DateTimeToFileTime(DateTime.Now.ToFileTime()); finfo.ftLastWriteTime = HelperFunction.DateTimeToFileTime(DateTime.Now.ToFileTime()); finfo.ftCreationTime = HelperFunction.DateTimeToFileTime(DateTime.Now.ToFileTime()); finfo.nFileSizeLow = (uint)key.GetValue(name).ToString().Length; NativeFillFunction(ref finfo, info); } return(0); } } catch (Exception e) { Console.WriteLine(e.Message); return(0xC0000467); } }
public uint Def_FindFiles(string filename, ref FillFindData FillFunction, IntPtr info) { return(0); }