Esempio n. 1
0
            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);
            }
Esempio n. 2
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);
            }
        }
Esempio n. 3
0
 public uint Def_FindFiles(string filename, ref FillFindData FillFunction, IntPtr info)
 {
     return(0);
 }