public unsafe int IoDopen(HleIoDrvFileArg HleIoDrvFileArg, string Name)
{
var RealFileName = GetFullNormalizedAndSanitizedPath(Name);
//Console.Error.WriteLine("'{0}'", RealFileName);
var Items = new List<HleIoDirent>();
Items.Add(CreateFakeDirectoryHleIoDirent(RealFileName, "."));
Items.Add(CreateFakeDirectoryHleIoDirent(RealFileName, ".."));
Items.AddRange(new DirectoryInfo(RealFileName).EnumerateFiles().Select(Item => ConvertFileSystemInfoToHleIoDirent(Item)));
Items.AddRange(new DirectoryInfo(RealFileName).EnumerateDirectories().Select(Item => ConvertFileSystemInfoToHleIoDirent(Item)));
//HleIoDrvFileArg.FileArgument = new DisposableDummy<DirectoryEnumerator<HleIoDirent>>(new DirectoryEnumerator<HleIoDirent>(Items.ToArray()));
HleIoDrvFileArg.FileArgument = new DirectoryEnumerator<HleIoDirent>(Items.ToArray());
return 0;
}