reactos/drivers/filesystems/fastfat_new
Jérôme Gardou 23373acbb9 [CMAKE] Use modules instead of shared libraries
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.

On my system, this reduces the configure-time by a factor of two.
2019-04-06 17:43:38 +02:00
..
acchksup.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
allocsup.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
cachesup.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
cleanup.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
close.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
CMakeLists.txt [CMAKE] Use modules instead of shared libraries 2019-04-06 17:43:38 +02:00
create.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
devctrl.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
deviosup.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
dirctrl.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
dirsup.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
dumpsup.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
ea.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
easup.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
fastfat.rc [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
fat.h [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
fatdata.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
fatdata.h [FASTFAT_NEW] Fix build with FASTFATDBG set 2017-11-24 12:00:10 +01:00
fatinit.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
fatprocs.h [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
fatprocssrc.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
fatstruc.h [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
fileinfo.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
filobsup.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
flush.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
fsctrl.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
fspdisp.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
lfn.h [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
lockctrl.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
namesup.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
nodetype.h [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
pnp.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
read.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
README.md [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
resrcsup.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
shutdown.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
splaysup.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
strucsup.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
timesup.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
verfysup.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
volinfo.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
workque.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00
write.c [FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons. 2017-11-23 23:27:51 +01:00

fastfat File System Driver

The fastfat sample is file system driver that you can use as a model to write new file systems.

fastfat is a complete file system that addresses various issues such as storing data on disk, interacting with the cache manager, and handling various I/O operations such as file creation, performing read/writes on a file, setting information on a file, and performing control operations on the file system.

Universal Windows Driver Compliant

This sample builds a Universal Windows Driver. It uses only APIs and DDIs that are included in OneCoreUAP.

Build the sample

You can build the sample in two ways: using Microsoft Visual Studio or the command line (MSBuild).

Building a Driver Using Visual Studio

You build a driver the same way you build any project or solution in Visual Studio. When you create a new driver project using a Windows driver template, the template defines a default (active) project configuration and a default (active) solution build configuration. When you create a project from existing driver sources or convert existing driver code that was built with previous versions of the WDK, the conversion process preserves the target version information (operating systems and platform).

The default Solution build configuration is Debug and Win32.

To select a configuration and build a driver

  1. Open the driver project or solution in Visual Studio (find fastfat.sln or fastfat.vcxproj).
  2. Right-click the solution in the Solutions Explorer and select Configuration Manager.
  3. From the Configuration Manager, select the Active Solution Configuration (for example, Debug or Release) and the Active Solution Platform (for example, Win32) that correspond to the type of build you are interested in.
  4. From the Build menu, click Build Solution (Ctrl+Shift+B).

Building a Driver Using the Command Line (MSBuild)

You can build a driver from the command line using the Visual Studio Command Prompt window and the Microsoft Build Engine (MSBuild.exe) Previous versions of the WDK used the Windows Build utility (Build.exe) and provided separate build environment windows for each of the supported build configurations. You can now use the Visual Studio Command Prompt window for all build configurations.

To select a configuration and build a driver or an application

  1. Open a Visual Studio Command Prompt window at the Start screen. From this window you can use MsBuild.exe to build any Visual Studio project by specifying the project (.VcxProj) or solutions (.Sln) file.

  2. Navigate to the project directory and enter the MSbuild command for your target. For example, to perform a clean build of a Visual Studio driver project called filtername.vcxproj, navigate to the project directory and enter the following MSBuild command:

    msbuild /t:clean /t:build .\fastfat.vcxproj.

Installation

No INF file is provided with this sample because the fastfat file system driver (fastfat.sys) is already part of the Windows operating system. You can build a private version of this file system and use it as a replacement for the native driver.