Skip to content

Commit

Permalink
Update README.md (#417)
Browse files Browse the repository at this point in the history
  • Loading branch information
barrygolden authored Sep 16, 2019
1 parent db43355 commit f064dfb
Show file tree
Hide file tree
Showing 22 changed files with 119 additions and 389 deletions.
10 changes: 0 additions & 10 deletions filesys/cdfs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,6 @@ products:
- windows-wdk
---


<!---
name: CDFS File System Driver
platform: WDM
language: cpp
category: FileSystem
description: The CD-ROM file system driver (cdfs) sample is a file system driver for removable media.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617642
--->

# CDFS File System Driver

The CD-ROM file system driver (cdfs) sample is a sample file system driver that you can use to write new file systems.
Expand Down
40 changes: 15 additions & 25 deletions filesys/fastfat/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,6 @@ products:
- windows-wdk
---


<!---
name: fastfat File System Driver
platform: WDM
language: cpp
category: FileSystem
description: A file system driver based on the Windows inbox FastFAT file system used as a model for new file systems.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=620305
--->

# fastfat File System Driver

The *fastfat* sample is file system driver that you can use as a model to write new file systems.
Expand All @@ -28,8 +18,7 @@ The *fastfat* sample is file system driver that you can use as a model to write

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

Build the sample
----------------
## Build the sample

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

Expand All @@ -39,27 +28,28 @@ You build a driver the same way you build any project or solution in Visual Stud

The default Solution build configuration is **Debug** and **Win32**.

**To select a configuration and build a driver**
#### To select a configuration and build a driver

1. Open the driver project or solution in Visual Studio (find fastfat.sln or fastfat.vcxproj).

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).
1. Right-click the solution in the **Solutions Explorer** and select **Configuration Manager**.

1. 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.

1. 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**
#### 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.

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:
1. 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:

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

Installation
------------
## 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.
12 changes: 1 addition & 11 deletions filesys/miniFilter/MetadataManager/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,6 @@ products:
- windows-wdk
---


<!---
name: Metadata Manager File System Minifilter Driver
platform: WDM
language: cpp
category: FileSystem
description: An example of how to use files for storing metadata that corresponds to minifilters.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617650
--->

# Metadata Manager File System Minifilter Driver

The Metadata Manager minifilter sample serves as an example if you want to use files for storing metadata that corresponds to your minifilters. The implementation of this sample depicts scenarios in which modifications to the file might have to be blocked or the minifilter might be required to close the file temporarily.
Expand All @@ -36,4 +26,4 @@ Similarly, the minifilter might close its metadata file if it sees an explicit F

The metadata minifilter also handles the case when a snapshot of its volume object is being taken. In this scenario, the minifilter acquires a shared exclusive lock on the metadata resource object while calling the callback that corresponds to the pre-device control operation for IOCTL\_VOLSNAP\_FLUSH\_AND\_HOLD\_WRITES. The lock is later released in the callback that corresponds to the post-device control operation for IOCTL\_VOLSNAP\_FLUSH\_AND\_HOLD\_WRITES. The lock is acquired to prevent any modifications on the metadata file while the snapshot is being taken.

For more information on file system minifilter design, start with the [File System Minifilter Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff540402) section in the Installable File Systems Design Guide.
For more information on file system minifilter design, start with the [File System Minifilter Drivers](https://docs.microsoft.com/windows-hardware/drivers/ifs/file-system-minifilter-drivers) section in the Installable File Systems Design Guide.
9 changes: 0 additions & 9 deletions filesys/miniFilter/NameChanger/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,6 @@ products:
- windows-wdk
---

<!---
name: NameChanger File System Minifilter Driver
platform: WDM
language: cpp
category: FileSystem
description: Grafts a directory from one part of a volume's namespace to another part using a mapping.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617652
--->

# NameChanger File System Minifilter Driver

The *NameChanger* minifilter grafts a directory from one part of a volume's namespace to another part using a mapping. The minifilter maintains this illusion by acting as a name provider, injecting entries into directory enumerations and forwarding directory change notifications.
Expand Down
10 changes: 0 additions & 10 deletions filesys/miniFilter/avscan/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,6 @@ products:
- windows-wdk
---


<!---
name: AvScan File System Minifilter Driver
platform: WDM
language: cpp
category: FileSystem
description: This filter is a transaction-aware file scanner that examines data in files.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617644
--->

# AvScan File System Minifilter Driver

The AvScan minifilter is a transaction-aware file scanner. This is an example for developers who intend to write filters that examine data in files. Typically, anti-virus products fall into this category.
Expand Down
15 changes: 2 additions & 13 deletions filesys/miniFilter/cancelSafe/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,6 @@ products:
- windows-wdk
---


<!---
name: CancelSafe File System Minifilter Driver
platform: WDM
language: cpp
category: FileSystem
description: A minifilter demonstrating the use of cancel-safe queues.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617645
--->

# CancelSafe File System Minifilter Driver

The CancelSafe filter is a sample minifilter that you use if you want to use cancel-safe queues.
Expand All @@ -26,9 +16,8 @@ The CancelSafe filter is a sample minifilter that you use if you want to use can

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

Design and Operation
--------------------
## Design and Operation

The *CancelSafe* minifilter initializes a cancel-safe queue when it is attached to a volume. When the minifilter is deployed, it monitors read operations that are passing through the I/O stack. If the read operation is being performed on a file named csqdemo.txt, it is queued onto the cancel-safe queue. Queued operations are completed after a brief pause through a separate worker thread that is running in system context.

For more information on file system minifilter design, start with the [File System Minifilter Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff540402) section in the Installable File Systems Design Guide.
For more information on file system minifilter design, start with the [File System Minifilter Drivers](https://docs.microsoft.com/windows-hardware/drivers/ifs/file-system-minifilter-drivers) section in the Installable File Systems Design Guide.
15 changes: 2 additions & 13 deletions filesys/miniFilter/cdo/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,6 @@ products:
- windows-wdk
---


<!---
name: CDO File System Minifilter Driver
platform: WDM
language: cpp
category: FileSystem
description: An example of using a control device object (CDO) with a minifilter.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617646
--->

# CDO File System Minifilter Driver

The CDO minifilter sample is an example if you intend to use a control device object (CDO) with your minifilters.
Expand All @@ -28,9 +18,8 @@ Although the filter manager infrastructure provides a message interface for comm

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

Design and Operation
--------------------
## Design and Operation

When the CDO minifilter is deployed, it creates a CDO object named "FileSystem\\Filters\\CdoSample" in the Microsoft Windows object namespace and enables applications to open it and perform certain operations on it.

For more information on file system minifilter design, start with the [File System Minifilter Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff540402) section in the Installable File Systems Design Guide.
For more information on file system minifilter design, start with the [File System Minifilter Drivers](https://docs.microsoft.com/windows-hardware/drivers/ifs/file-system-minifilter-drivers) section in the Installable File Systems Design Guide.
12 changes: 1 addition & 11 deletions filesys/miniFilter/change/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,6 @@ products:
- windows-wdk
---


<!---
name: Change File System Minifilter Driver
platform: WDM
language: cpp
category: FileSystem
description: A transaction-aware filter that monitors file changes in real time.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617647
--->

# Change File System Minifilter Driver

The Change minifilter is a transaction-aware filter that monitors file changes in real time.
Expand All @@ -33,4 +23,4 @@ The primary tasks of the filter for tracking a transacted file are the following

## Universal Windows Driver Compliant

This sample builds a Universal Windows Driver. It uses only APIs and DDIs that are included in OneCoreUAP.
This sample builds a Universal Windows Driver. It uses only APIs and DDIs that are included in OneCoreUAP.
12 changes: 1 addition & 11 deletions filesys/miniFilter/ctx/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,6 @@ products:
- windows-wdk
---


<!---
name: Ctx File System Minifilter Driver
platform: WDM
language: cpp
category: FileSystem
description: Demonstrates how to attach contexts to instances, files, streams, and stream handles in your minifilter.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617648
--->

# Ctx File System Minifilter Drive

The Ctx minifilter is an example that demonstrates how to attach contexts to instances, files, streams, and stream handles in your minifilter.
Expand All @@ -30,4 +20,4 @@ This sample builds a Universal Windows Driver. It uses only APIs and DDIs that a

The *Ctx* minifilter demonstrates how to attach and remove contexts from instances, files, steams, and stream handles. *Ctx* attaches a context whenever one of these objects is created. While attaching a context to a file, the sample also creates a stream and stream handle context. All contexts are ultimately deleted by the filter manager using the callback function that the *Ctx* minifilter provides.

For more information on file system minifilter design, start with the [File System Minifilter Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff540402) section in the Installable File Systems Design Guide.
For more information on file system minifilter design, start with the [File System Minifilter Drivers](https://docs.microsoft.com/windows-hardware/drivers/ifs/file-system-minifilter-drivers) section in the Installable File Systems Design Guide.
15 changes: 3 additions & 12 deletions filesys/miniFilter/delete/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,6 @@ products:
- windows-wdk
---


<!---
name: Delete File System Minifilter Driver
platform: WDM
language: cpp
category: FileSystem
description: Demonstrates how to detect deletions of files or streams.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617649
--->

# Delete File System Minifilter Driver

The Delete minifilter is an example that demonstrates how to detect deletions of files or streams. Deletions are reported as debug output.
Expand All @@ -30,6 +20,7 @@ This sample builds a Universal Windows Driver. It uses only APIs and DDIs that a

The *delete* minifilter illustrates how to detect deletion of files and streams. It monitors IRP\_MJ\_CREATE requests for the FILE\_DELETE\_ON\_CLOSE flag. Also, it detects IRP\_MJ\_SET\_INFORMATION requests for setting FileDispositionInformation/FileDispositionInformationEx. The sample also illustrates how to handle racing deletes (in the form of multiple parallel IRP\_MJ\_SET\_INFORMATION operations), and how to distinguish deletion of an entire file from deletion of just one stream of the file.

**Note** Because of the way in which the Windows operating system deletes files, it is not possible for the minifilter to detect in advance that a file or stream will be deleted. The minifilter can only detect operations that may cause a deletion, and then determine if the deletion took place after the operation completes.
> [!NOTE]
> Because of the way in which the Windows operating system deletes files, it is not possible for the minifilter to detect in advance that a file or stream will be deleted. The minifilter can only detect operations that may cause a deletion, and then determine if the deletion took place after the operation completes.
For more information on file system minifilter design, start with the [File System Minifilter Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff540402) section in the Installable File Systems Design Guide.
For more information on file system minifilter design, start with the [File System Minifilter Drivers](https://docs.microsoft.com/windows-hardware/drivers/ifs/file-system-minifilter-drivers) section in the Installable File Systems Design Guide.
12 changes: 1 addition & 11 deletions filesys/miniFilter/minispy/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,6 @@ products:
- windows-wdk
---


<!---
name: Minispy File System Minifilter Driver
platform: WDM
language: cpp
category: FileSystem
description: A tool to monitor and log any I/O and transaction activity that occurs in the system.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617651
--->

# Minispy File System Minifilter Driver

The Minispy sample is a tool to monitor and log any I/O and transaction activity that occurs in the system. Minispy is implemented as a minifilter.
Expand All @@ -32,4 +22,4 @@ Minispy consists of both user-mode and kernel-mode components. The kernel-mode c

To observe I/O activity on a device, you must explicitly attach Minispy to that device by using the Minispy user-mode component. Similarly, you can request Minispy to stop logging data for a particular device.

For more information on file system minifilter design, start with the [File System Minifilter Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff540402) section in the Installable File Systems Design Guide.
For more information on file system minifilter design, start with the [File System Minifilter Drivers](https://docs.microsoft.com/windows-hardware/drivers/ifs/file-system-minifilter-drivers) section in the Installable File Systems Design Guide.
12 changes: 1 addition & 11 deletions filesys/miniFilter/nullFilter/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,6 @@ products:
- windows-wdk
---


<!---
name: NullFilter File System Minifilter Driver
platform: WDM
language: cpp
category: FileSystem
description: A minifilter that demonstrates registration with the filter manager.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617653
--->

# NullFilter File System Minifilter Driver

The NullFilter minifilter is a sample minifilter that shows how to register a minifilter with the filter manager.
Expand All @@ -30,4 +20,4 @@ This sample builds a Universal Windows Driver. It uses only APIs and DDIs that a

The *NullFilter* minifilter is a simple minifilter that registers itself with the filter manager for no callback operations.

For more information on file system minifilter design, start with the [File System Minifilter Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff540402) section in the Installable File Systems Design Guide.
For more information on file system minifilter design, start with the [File System Minifilter Drivers](https://docs.microsoft.com/windows-hardware/drivers/ifs/file-system-minifilter-drivers) section in the Installable File Systems Design Guide.
12 changes: 1 addition & 11 deletions filesys/miniFilter/passThrough/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,6 @@ products:
- windows-wdk
---


<!---
name: PassThrough File System Minifilter Driver
platform: WDM
language: cpp
category: FileSystem
description: Demonstrates how to specify callback functions for different types of I/O requests.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617654
--->

# PassThrough File System Minifilter Driver

The PassThrough minifilter demonstrates how to specify callback functions for different types of I/O requests.
Expand All @@ -30,4 +20,4 @@ This sample builds a Universal Windows Driver. It uses only APIs and DDIs that a

The *PassThrough* minifilter does not have any real functionality. For each type of I/O operation, the same pre and post callback functions are called. These callback functions simply forward the I/O request to the next filter on the stack.

For more information on file system minifilter design, start with the [File System Minifilter Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff540402) section in the Installable File Systems Design Guide.
For more information on file system minifilter design, start with the [File System Minifilter Drivers](https://docs.microsoft.com/windows-hardware/drivers/ifs/file-system-minifilter-drivers) section in the Installable File Systems Design Guide.
Loading

0 comments on commit f064dfb

Please sign in to comment.