CSPspEmu.Hle.Vfs.Local.HleIoDriverLocalFileSystem.IoGetstat C# (CSharp) Метод

IoGetstat() публичный Метод

public IoGetstat ( HleIoDrvFileArg HleIoDrvFileArg, string FileName, SceIoStat Stat ) : int
HleIoDrvFileArg HleIoDrvFileArg
FileName string
Stat SceIoStat
Результат int
        public unsafe int IoGetstat(HleIoDrvFileArg HleIoDrvFileArg, string FileName, SceIoStat* Stat)
        {
            var RealFileName = GetFullNormalizedAndSanitizedPath(FileName);
            //Console.WriteLine(RealFileName);

            Stat->Attributes = IOFileModes.CanExecute | IOFileModes.CanRead | IOFileModes.CanWrite;
            Stat->Mode = 0;
            Stat->Mode = SceMode.UserCanExecute | SceMode.UserCanRead | SceMode.UserCanWrite;
            Stat->Mode = SceMode.GroupCanExecute | SceMode.GroupCanRead | SceMode.GroupCanWrite;
            Stat->Mode = SceMode.OtherCanExecute | SceMode.OtherCanRead | SceMode.OtherCanWrite;

            FileSystemInfo FileSystemInfo = null;
            if (File.Exists(RealFileName))
            {
                var FileInfo = new FileInfo(RealFileName);
                FileSystemInfo = FileInfo;
                Stat->Size = FileInfo.Length;
                Stat->Mode |= SceMode.File;
                Stat->Attributes |= IOFileModes.File;
            }
            else if (Directory.Exists(RealFileName))
            {
                var DirectoryInfo = new DirectoryInfo(RealFileName);
                FileSystemInfo = DirectoryInfo;
                Stat->Mode |= SceMode.Directory;
                Stat->Attributes |= IOFileModes.Directory;
            }
            else
            {
                throw(new FileNotFoundException("Can't find file '" + RealFileName + "'"));
            }

            Stat->TimeCreation = ScePspDateTime.FromDateTime(FileSystemInfo.CreationTimeUtc);
            Stat->TimeLastAccess = ScePspDateTime.FromDateTime(FileSystemInfo.LastAccessTimeUtc);
            Stat->TimeLastModification = ScePspDateTime.FromDateTime(FileSystemInfo.LastWriteTimeUtc);

            return 0;
        }