コード例 #1
0
        public void GetFileNameByHandleBasic()
        {
            using (var cleaner = new TestFileCleaner())
            {
                string tempPath     = cleaner.TempFolder;
                string tempFileName = cleaner.GetTestPath();

                using (var file = FileMethods.CreateFile(tempFileName, CreationDisposition.CreateNew))
                {
                    string fileName = FileMethods.GetFileNameLegacy(file);
                    tempFileName.Should().EndWith(fileName);
                }
            }
        }
コード例 #2
0
        public void GetFileNameByHandle()
        {
            // Can't open the Users folder in a Store app
            StoreHelper.ValidateStoreGetsUnauthorizedAccess(() =>
            {
                // @"C:\" -> @"\"
                var fileHandle = FileMethods.CreateFileSystemIo(
                    @"C:\Users",
                    0,                  // We don't care about read or write, we're just getting metadata with this handle
                    System.IO.FileShare.ReadWrite,
                    System.IO.FileMode.Open,
                    0,
                    FileFlags.OpenReparsePoint           // To avoid traversing links
                    | FileFlags.BackupSemantics);        // To open directories

                string name = FileMethods.GetFileNameLegacy(fileHandle);
                name.Should().Be(@"\Users");
            });
        }