summaryrefslogtreecommitdiff
path: root/filesys
diff options
context:
space:
mode:
authorBarry Golden <[email protected]>2019-03-12 14:02:43 -0700
committerAdonais Romero González <[email protected]>2019-03-12 14:02:43 -0700
commitef7ec4ec9ff7ce3c53d60e1c8906915966e17e01 (patch)
tree3017523a73c6552c27947d402afa6062f4df2706 /filesys
parent35bff356ac249057f4d673d39c7f28ed348cbf0f (diff)
Update README.md for samples portal (#358)
* Update README.md for samples portal * Update README.md for samples portal * Removed installwdf * Update fork (#2) * Fix typo ture -> true * Remove InstallWdf sample * Fix typo (#340) ture -> true * Readme typo fix (#349) * Update langid
Diffstat (limited to 'filesys')
-rw-r--r--filesys/cdfs/README.md14
-rw-r--r--filesys/cdfs/filesys-cdfs.yml12
-rw-r--r--filesys/fastfat/README.md15
-rw-r--r--filesys/fastfat/filesys-fastfat.yml12
-rw-r--r--filesys/miniFilter/MetadataManager/README.md19
-rw-r--r--filesys/miniFilter/MetadataManager/filesys-minifilter-metadatamanager.yml12
-rw-r--r--filesys/miniFilter/NameChanger/README.md14
-rw-r--r--filesys/miniFilter/NameChanger/filesys-minifilter-namechanger.yml12
-rw-r--r--filesys/miniFilter/avscan/README.md14
-rw-r--r--filesys/miniFilter/avscan/filesys-minifilter-avscan.yml12
-rw-r--r--filesys/miniFilter/cancelSafe/README.md14
-rw-r--r--filesys/miniFilter/cancelSafe/filesys-minifilter-cancelsafe.yml12
-rw-r--r--filesys/miniFilter/cdo/README.md15
-rw-r--r--filesys/miniFilter/cdo/filesys-minifilter-cdo.yml12
-rw-r--r--filesys/miniFilter/change/README.md24
-rw-r--r--filesys/miniFilter/change/filesys-minifilter-change.yml12
-rw-r--r--filesys/miniFilter/ctx/README.md18
-rw-r--r--filesys/miniFilter/ctx/filesys-minifilter-ctx.yml12
-rw-r--r--filesys/miniFilter/delete/README.md17
-rw-r--r--filesys/miniFilter/delete/filesys-minifilter-delete.yml12
-rw-r--r--filesys/miniFilter/minispy/README.md19
-rw-r--r--filesys/miniFilter/minispy/filesys-minifilter-minispy.yml12
-rw-r--r--filesys/miniFilter/nullFilter/README.md18
-rw-r--r--filesys/miniFilter/nullFilter/filesys-minifilter-nullfilter.yml12
-rw-r--r--filesys/miniFilter/passThrough/README.md19
-rw-r--r--filesys/miniFilter/passThrough/filesys-minifilter-passthrough.yml12
-rw-r--r--filesys/miniFilter/scanner/README.md19
-rw-r--r--filesys/miniFilter/scanner/filesys-minifilter-scanner.yml12
-rw-r--r--filesys/miniFilter/simrep/README.md19
-rw-r--r--filesys/miniFilter/simrep/filesys-minifilter-simrep.yml12
-rw-r--r--filesys/miniFilter/swapBuffers/README.md19
-rw-r--r--filesys/miniFilter/swapBuffers/filesys-minifilter-swapbuffers.yml12
32 files changed, 200 insertions, 269 deletions
diff --git a/filesys/cdfs/README.md b/filesys/cdfs/README.md
index cbe8e4c4..ff09194b 100644
--- a/filesys/cdfs/README.md
+++ b/filesys/cdfs/README.md
@@ -1,3 +1,13 @@
+---
+topic: sample
+name: CDFS File System Driver
+description: The CD-ROM file system driver (cdfs) sample is a file system driver for removable media.
+languages:
+ - cpp
+products:
+ - windows
+---
+
<!---
name: CDFS File System Driver
platform: WDM
@@ -7,9 +17,7 @@
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617642
--->
-
-CDFS File System Driver
-=======================
+# 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.
diff --git a/filesys/cdfs/filesys-cdfs.yml b/filesys/cdfs/filesys-cdfs.yml
deleted file mode 100644
index 077aabec..00000000
--- a/filesys/cdfs/filesys-cdfs.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-### YamlMime:Sample
-sample:
-- name: CDFS File System Driver
- description: The CD-ROM file system driver (cdfs) sample is a file system driver for removable media.
- generateZip: true
- preserveParentHierarchy: true
- author: windows-driver-samples
- languages:
- - cpp
- technologies:
- - windows
- vssolution: /filesys/cdfs/cdfs.sln
diff --git a/filesys/fastfat/README.md b/filesys/fastfat/README.md
index 801e3f73..6988b362 100644
--- a/filesys/fastfat/README.md
+++ b/filesys/fastfat/README.md
@@ -1,3 +1,13 @@
+---
+topic: sample
+name: fastfat File System Driver
+description: A file system driver based on the Windows inbox FastFAT file system used as a model for new file systems.
+languages:
+ - cpp
+products:
+ - windows
+---
+
<!---
name: fastfat File System Driver
platform: WDM
@@ -7,10 +17,7 @@
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=620305
--->
-
-
-fastfat File System Driver
-==========================
+# fastfat File System Driver
The *fastfat* sample is file system driver that you can use as a model to write new file systems.
diff --git a/filesys/fastfat/filesys-fastfat.yml b/filesys/fastfat/filesys-fastfat.yml
deleted file mode 100644
index 168a8169..00000000
--- a/filesys/fastfat/filesys-fastfat.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-### YamlMime:Sample
-sample:
-- name: fastfat File System Driver
- description: A file system driver based on the Windows inbox FastFAT file system used as a model for new file systems.
- generateZip: true
- preserveParentHierarchy: true
- author: windows-driver-samples
- languages:
- - cpp
- technologies:
- - windows
- vssolution: /filesys/fastfat/fastfat.sln
diff --git a/filesys/miniFilter/MetadataManager/README.md b/filesys/miniFilter/MetadataManager/README.md
index 2c56f719..31676011 100644
--- a/filesys/miniFilter/MetadataManager/README.md
+++ b/filesys/miniFilter/MetadataManager/README.md
@@ -1,3 +1,13 @@
+---
+topic: sample
+name: Metadata Manager File System Minifilter Driver
+description: An example of how to use files for storing metadata that corresponds to minifilters.
+languages:
+ - cpp
+products:
+ - windows
+---
+
<!---
name: Metadata Manager File System Minifilter Driver
platform: WDM
@@ -7,17 +17,15 @@
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617650
--->
-
-Metadata Manager File System Minifilter Driver
-==============================================
+# 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.
## Universal Windows Driver Compliant
+
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 Metadata Manager minifilter opens a file when it is first loaded. After that, the minifilter monitors open, close, file control, device control, and Plug and Play (PnP) operations to identify scenarios in which it should close its metadata file or block all writes to it. Applications such as chkdsk obtain implicit or explicit exclusive locks on the volume, and the metadata minifilter demonstrates how to maintain a metadata file without interfering with such lock acquisitions.
@@ -28,4 +36,3 @@ 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.
-
diff --git a/filesys/miniFilter/MetadataManager/filesys-minifilter-metadatamanager.yml b/filesys/miniFilter/MetadataManager/filesys-minifilter-metadatamanager.yml
deleted file mode 100644
index 11dddd29..00000000
--- a/filesys/miniFilter/MetadataManager/filesys-minifilter-metadatamanager.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-### YamlMime:Sample
-sample:
-- name: Metadata Manager File System Minifilter Driver
- description: An example of how to use files for storing metadata that corresponds to minifilters.
- generateZip: true
- preserveParentHierarchy: true
- author: windows-driver-samples
- languages:
- - cpp
- technologies:
- - windows
- vssolution: /filesys/miniFilter/MetadataManager/MetadataManager.sln
diff --git a/filesys/miniFilter/NameChanger/README.md b/filesys/miniFilter/NameChanger/README.md
index 71b857ef..b4257d91 100644
--- a/filesys/miniFilter/NameChanger/README.md
+++ b/filesys/miniFilter/NameChanger/README.md
@@ -1,3 +1,13 @@
+---
+topic: sample
+name: NameChanger File System Minifilter Driver
+description: Grafts a directory from one part of a volume's namespace to another part using a mapping.
+languages:
+ - cpp
+products:
+ - windows
+---
+
<!---
name: NameChanger File System Minifilter Driver
platform: WDM
@@ -7,9 +17,7 @@
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617652
--->
-
-NameChanger File System Minifilter Driver
-=========================================
+# 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.
diff --git a/filesys/miniFilter/NameChanger/filesys-minifilter-namechanger.yml b/filesys/miniFilter/NameChanger/filesys-minifilter-namechanger.yml
deleted file mode 100644
index c8448c80..00000000
--- a/filesys/miniFilter/NameChanger/filesys-minifilter-namechanger.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-### YamlMime:Sample
-sample:
-- name: NameChanger File System Minifilter Driver
- description: Grafts a directory from one part of a volume's namespace to another part using a mapping.
- generateZip: true
- preserveParentHierarchy: true
- author: windows-driver-samples
- languages:
- - cpp
- technologies:
- - windows
- vssolution: /filesys/miniFilter/NameChanger/NameChanger.sln
diff --git a/filesys/miniFilter/avscan/README.md b/filesys/miniFilter/avscan/README.md
index d1159670..2086c987 100644
--- a/filesys/miniFilter/avscan/README.md
+++ b/filesys/miniFilter/avscan/README.md
@@ -1,3 +1,13 @@
+---
+topic: sample
+name: AvScan File System Minifilter Driver
+description: This filter is a transaction-aware file scanner that examines data in files.
+languages:
+ - cpp
+products:
+ - windows
+---
+
<!---
name: AvScan File System Minifilter Driver
platform: WDM
@@ -7,9 +17,7 @@
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617644
--->
-
-AvScan File System Minifilter Driver
-====================================
+# 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.
diff --git a/filesys/miniFilter/avscan/filesys-minifilter-avscan.yml b/filesys/miniFilter/avscan/filesys-minifilter-avscan.yml
deleted file mode 100644
index 4dc19a30..00000000
--- a/filesys/miniFilter/avscan/filesys-minifilter-avscan.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-### YamlMime:Sample
-sample:
-- name: AvScan File System Minifilter Driver
- description: This filter is a transaction-aware file scanner that examines data in files.
- generateZip: true
- preserveParentHierarchy: true
- author: windows-driver-samples
- languages:
- - cpp
- technologies:
- - windows
- vssolution: /filesys/miniFilter/avscan/avscan.sln
diff --git a/filesys/miniFilter/cancelSafe/README.md b/filesys/miniFilter/cancelSafe/README.md
index 3e4c7b06..93aebaaa 100644
--- a/filesys/miniFilter/cancelSafe/README.md
+++ b/filesys/miniFilter/cancelSafe/README.md
@@ -1,3 +1,13 @@
+---
+topic: sample
+name: CancelSafe File System Minifilter Driver
+description: A minifilter demonstrating the use of cancel-safe queues.
+languages:
+ - cpp
+products:
+ - windows
+---
+
<!---
name: CancelSafe File System Minifilter Driver
platform: WDM
@@ -7,9 +17,7 @@
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617645
--->
-
-CancelSafe File System Minifilter Driver
-========================================
+# CancelSafe File System Minifilter Driver
The CancelSafe filter is a sample minifilter that you use if you want to use cancel-safe queues.
diff --git a/filesys/miniFilter/cancelSafe/filesys-minifilter-cancelsafe.yml b/filesys/miniFilter/cancelSafe/filesys-minifilter-cancelsafe.yml
deleted file mode 100644
index 3219f608..00000000
--- a/filesys/miniFilter/cancelSafe/filesys-minifilter-cancelsafe.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-### YamlMime:Sample
-sample:
-- name: CancelSafe File System Minifilter Driver
- description: A minifilter demonstrating the use of cancel-safe queues.
- generateZip: true
- preserveParentHierarchy: true
- author: windows-driver-samples
- languages:
- - cpp
- technologies:
- - windows
- vssolution: /filesys/miniFilter/cancelSafe/cancelSafe.sln
diff --git a/filesys/miniFilter/cdo/README.md b/filesys/miniFilter/cdo/README.md
index 2c0a03fa..bdbea50d 100644
--- a/filesys/miniFilter/cdo/README.md
+++ b/filesys/miniFilter/cdo/README.md
@@ -1,3 +1,13 @@
+---
+topic: sample
+name: CDO File System Minifilter Driver
+description: An example of using a control device object (CDO) with a minifilter.
+languages:
+ - cpp
+products:
+ - windows
+---
+
<!---
name: CDO File System Minifilter Driver
platform: WDM
@@ -7,15 +17,14 @@
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617646
--->
-
-CDO File System Minifilter Driver
-=================================
+# 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.
Although the filter manager infrastructure provides a message interface for communication between applications and minifilters, you might need explicit CDOs while the minifilters interface with legacy software. This sample shows how to create and use a CDO with minifilters.
## Universal Windows Driver Compliant
+
This sample builds a Universal Windows Driver. It uses only APIs and DDIs that are included in OneCoreUAP.
Design and Operation
diff --git a/filesys/miniFilter/cdo/filesys-minifilter-cdo.yml b/filesys/miniFilter/cdo/filesys-minifilter-cdo.yml
deleted file mode 100644
index ee34df68..00000000
--- a/filesys/miniFilter/cdo/filesys-minifilter-cdo.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-### YamlMime:Sample
-sample:
-- name: CDO File System Minifilter Driver
- description: An example of using a control device object (CDO) with a minifilter.
- generateZip: true
- preserveParentHierarchy: true
- author: windows-driver-samples
- languages:
- - cpp
- technologies:
- - windows
- vssolution: /filesys/miniFilter/cdo/cdo.sln
diff --git a/filesys/miniFilter/change/README.md b/filesys/miniFilter/change/README.md
index 3e4af1db..8a2e39ad 100644
--- a/filesys/miniFilter/change/README.md
+++ b/filesys/miniFilter/change/README.md
@@ -1,3 +1,13 @@
+---
+topic: sample
+name: Change File System Minifilter Driver
+description: A transaction-aware filter that monitors file changes in real time.
+languages:
+ - cpp
+products:
+ - windows
+---
+
<!---
name: Change File System Minifilter Driver
platform: WDM
@@ -7,9 +17,7 @@
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617647
--->
-
-Change File System Minifilter Driver
-====================================
+# Change File System Minifilter Driver
The Change minifilter is a transaction-aware filter that monitors file changes in real time.
@@ -17,11 +25,11 @@ This filter tracks if the files are 'dirty' by intercepting write I/O requests.
The primary tasks of the filter for tracking a transacted file are the following:
-1. In the post create callback, if a transacted file is open with attribute FILE\_WRITE\_DATA or FILE\_APPEND\_DATA, then enlist its file context into the transaction context.
-2. In the pre-operation callback, if the operation needs to be dirty, such as IRP\_MJ\_WRITE and the file is part of a transaction, update the transacted dirty record instead of the non-transacted dirty record.
-3. In the kernel transaction manager (KTM) notification callback, if the transaction is committed, then propagate the dirty information from the transacted dirty record to the non-transacted dirty record; if rollback, do not propagate.
-4. Properly remove the context structure in the TransactionContextCleanup routine.
+1. In the post create callback, if a transacted file is open with attribute FILE\_WRITE\_DATA or FILE\_APPEND\_DATA, then enlist its file context into the transaction context.
+1. In the pre-operation callback, if the operation needs to be dirty, such as IRP\_MJ\_WRITE and the file is part of a transaction, update the transacted dirty record instead of the non-transacted dirty record.
+1. In the kernel transaction manager (KTM) notification callback, if the transaction is committed, then propagate the dirty information from the transacted dirty record to the non-transacted dirty record; if rollback, do not propagate.
+1. Properly remove the context structure in the TransactionContextCleanup routine.
## 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.
diff --git a/filesys/miniFilter/change/filesys-minifilter-change.yml b/filesys/miniFilter/change/filesys-minifilter-change.yml
deleted file mode 100644
index 5096faf3..00000000
--- a/filesys/miniFilter/change/filesys-minifilter-change.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-### YamlMime:Sample
-sample:
-- name: Change File System Minifilter Driver
- description: A transaction-aware filter that monitors file changes in real time.
- generateZip: true
- preserveParentHierarchy: true
- author: windows-driver-samples
- languages:
- - cpp
- technologies:
- - windows
- vssolution: /filesys/miniFilter/change/change.sln
diff --git a/filesys/miniFilter/ctx/README.md b/filesys/miniFilter/ctx/README.md
index 326c9221..e01f1e3b 100644
--- a/filesys/miniFilter/ctx/README.md
+++ b/filesys/miniFilter/ctx/README.md
@@ -1,3 +1,13 @@
+---
+topic: sample
+name: Ctx File System Minifilter Driver
+description: Demonstrates how to attach contexts to instances, files, streams, and stream handles in your minifilter.
+languages:
+ - cpp
+products:
+ - windows
+---
+
<!---
name: Ctx File System Minifilter Driver
platform: WDM
@@ -7,17 +17,15 @@
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617648
--->
-
-Ctx File System Minifilter Driver
-=================================
+# 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.
## Universal Windows Driver Compliant
+
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 *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.
diff --git a/filesys/miniFilter/ctx/filesys-minifilter-ctx.yml b/filesys/miniFilter/ctx/filesys-minifilter-ctx.yml
deleted file mode 100644
index 4e81b18f..00000000
--- a/filesys/miniFilter/ctx/filesys-minifilter-ctx.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-### YamlMime:Sample
-sample:
-- name: Ctx File System Minifilter Driver
- description: Demonstrates how to attach contexts to instances, files, streams, and stream handles in your minifilter.
- generateZip: true
- preserveParentHierarchy: true
- author: windows-driver-samples
- languages:
- - cpp
- technologies:
- - windows
- vssolution: /filesys/miniFilter/ctx/ctx.sln
diff --git a/filesys/miniFilter/delete/README.md b/filesys/miniFilter/delete/README.md
index b56eded0..70ebf09f 100644
--- a/filesys/miniFilter/delete/README.md
+++ b/filesys/miniFilter/delete/README.md
@@ -1,3 +1,13 @@
+---
+topic: sample
+name: Delete File System Minifilter Driver
+description: Demonstrates how to detect deletions of files or streams.
+languages:
+ - cpp
+products:
+ - windows
+---
+
<!---
name: Delete File System Minifilter Driver
platform: WDM
@@ -7,16 +17,15 @@
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617649
--->
-Delete File System Minifilter Driver
-====================================
+# 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.
## Universal Windows Driver Compliant
+
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 *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.
diff --git a/filesys/miniFilter/delete/filesys-minifilter-delete.yml b/filesys/miniFilter/delete/filesys-minifilter-delete.yml
deleted file mode 100644
index a9c31962..00000000
--- a/filesys/miniFilter/delete/filesys-minifilter-delete.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-### YamlMime:Sample
-sample:
-- name: Delete File System Minifilter Driver
- description: Demonstrates how to detect deletions of files or streams.
- generateZip: true
- preserveParentHierarchy: true
- author: windows-driver-samples
- languages:
- - cpp
- technologies:
- - windows
- vssolution: /filesys/miniFilter/delete/delete.sln
diff --git a/filesys/miniFilter/minispy/README.md b/filesys/miniFilter/minispy/README.md
index 075675b7..e487235b 100644
--- a/filesys/miniFilter/minispy/README.md
+++ b/filesys/miniFilter/minispy/README.md
@@ -1,3 +1,13 @@
+---
+topic: sample
+name: Minispy File System Minifilter Driver
+description: A tool to monitor and log any I/O and transaction activity that occurs in the system.
+languages:
+ - cpp
+products:
+ - windows
+---
+
<!---
name: Minispy File System Minifilter Driver
platform: WDM
@@ -7,21 +17,18 @@
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617651
--->
-
-Minispy File System Minifilter Driver
-=====================================
+# 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.
## Universal Windows Driver Compliant
+
This sample builds a Universal Windows Driver. It uses only APIs and DDIs that are included in OneCoreUAP.
-Design and Operation
---------------------
+## Design and Operation
Minispy consists of both user-mode and kernel-mode components. The kernel-mode component registers callback functions that correspond to various I/O and transaction operations with the filter manager. These callback functions help Minispy record any I/O and transaction activity occurring in the system. When a user can request the recorded information, the recorded information is passed to the user-mode component, which can either output it on screen or log it to a file on disk.
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.
-
diff --git a/filesys/miniFilter/minispy/filesys-minifilter-minispy.yml b/filesys/miniFilter/minispy/filesys-minifilter-minispy.yml
deleted file mode 100644
index 783502e2..00000000
--- a/filesys/miniFilter/minispy/filesys-minifilter-minispy.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-### YamlMime:Sample
-sample:
-- name: Minispy File System Minifilter Driver
- description: A tool to monitor and log any I/O and transaction activity that occurs in the system.
- generateZip: true
- preserveParentHierarchy: true
- author: windows-driver-samples
- languages:
- - cpp
- technologies:
- - windows
- vssolution: /filesys/miniFilter/minispy/minispy.sln
diff --git a/filesys/miniFilter/nullFilter/README.md b/filesys/miniFilter/nullFilter/README.md
index e0c2ff2e..8a2f1a04 100644
--- a/filesys/miniFilter/nullFilter/README.md
+++ b/filesys/miniFilter/nullFilter/README.md
@@ -1,3 +1,13 @@
+---
+topic: sample
+name: NullFilter File System Minifilter Driver
+description: A minifilter that demonstrates registration with the filter manager.
+languages:
+ - cpp
+products:
+ - windows
+---
+
<!---
name: NullFilter File System Minifilter Driver
platform: WDM
@@ -7,18 +17,16 @@
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617653
--->
-NullFilter File System Minifilter Driver
-========================================
+# NullFilter File System Minifilter Driver
The NullFilter minifilter is a sample minifilter that shows how to register a minifilter with the filter manager.
## Universal Windows Driver Compliant
+
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 *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.
-
diff --git a/filesys/miniFilter/nullFilter/filesys-minifilter-nullfilter.yml b/filesys/miniFilter/nullFilter/filesys-minifilter-nullfilter.yml
deleted file mode 100644
index 2d9b6729..00000000
--- a/filesys/miniFilter/nullFilter/filesys-minifilter-nullfilter.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-### YamlMime:Sample
-sample:
-- name: NullFilter File System Minifilter Driver
- description: A minifilter that demonstrates registration with the filter manager.
- generateZip: true
- preserveParentHierarchy: true
- author: windows-driver-samples
- languages:
- - cpp
- technologies:
- - windows
- vssolution: /filesys/miniFilter/nullFilter/nullFilter.sln
diff --git a/filesys/miniFilter/passThrough/README.md b/filesys/miniFilter/passThrough/README.md
index 7400c146..f7f2a520 100644
--- a/filesys/miniFilter/passThrough/README.md
+++ b/filesys/miniFilter/passThrough/README.md
@@ -1,3 +1,13 @@
+---
+topic: sample
+name: PassThrough File System Minifilter Driver
+description: Demonstrates how to specify callback functions for different types of I/O requests.
+languages:
+ - cpp
+products:
+ - windows
+---
+
<!---
name: PassThrough File System Minifilter Driver
platform: WDM
@@ -7,19 +17,16 @@
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617654
--->
-
-PassThrough File System Minifilter Driver
-=========================================
+# PassThrough File System Minifilter Driver
The PassThrough minifilter demonstrates how to specify callback functions for different types of I/O requests.
## Universal Windows Driver Compliant
+
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 *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.
-
diff --git a/filesys/miniFilter/passThrough/filesys-minifilter-passthrough.yml b/filesys/miniFilter/passThrough/filesys-minifilter-passthrough.yml
deleted file mode 100644
index b42596b2..00000000
--- a/filesys/miniFilter/passThrough/filesys-minifilter-passthrough.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-### YamlMime:Sample
-sample:
-- name: PassThrough File System Minifilter Driver
- description: Demonstrates how to specify callback functions for different types of I/O requests.
- generateZip: true
- preserveParentHierarchy: true
- author: windows-driver-samples
- languages:
- - cpp
- technologies:
- - windows
- vssolution: /filesys/miniFilter/passThrough/passThrough.sln
diff --git a/filesys/miniFilter/scanner/README.md b/filesys/miniFilter/scanner/README.md
index eb9d2bcd..fa2559e2 100644
--- a/filesys/miniFilter/scanner/README.md
+++ b/filesys/miniFilter/scanner/README.md
@@ -1,3 +1,13 @@
+---
+topic: sample
+name: Scanner File System Minifilter Driver
+description: A file data scanner example. Typically, anti-virus filters are of this type.
+languages:
+ - cpp
+products:
+ - windows
+---
+
<!---
name: Scanner File System Minifilter Driver
platform: WDM
@@ -7,21 +17,18 @@
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617655
--->
-
-Scanner File System Minifilter Driver
-=====================================
+# Scanner File System Minifilter Driver
The Scanner minifilter is an example for developers who intend to write filters that examine data in files. Typically, antivirus products fall into this category.
## Universal Windows Driver Compliant
+
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 Scanner minifilter comprises both kernel-mode and user-mode components. The kernel-mode component recognizes appropriate moments for scanning a file's data and passes it to the user-mode component for further validation. The user-mode component creates a number of threads that await validation requests and corresponding data from the kernel-mode component. After scanning the data for occurrences of a "foul" string, the user-mode component sends an appropriate response to the kernel-mode component.
The kernel-mode component scans files with specific extensions only. The file is first scanned on a successful open. If the file was opened with write access, it is scanned again before a close. Scanning is also performed on data that is about to be written to a file. Writes will be rejected if any occurrences of a "foul" string are found in the data. If a "foul" string is detected during the closing of a file, a debug message is printed.
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.
-
diff --git a/filesys/miniFilter/scanner/filesys-minifilter-scanner.yml b/filesys/miniFilter/scanner/filesys-minifilter-scanner.yml
deleted file mode 100644
index 85be9e86..00000000
--- a/filesys/miniFilter/scanner/filesys-minifilter-scanner.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-### YamlMime:Sample
-sample:
-- name: Scanner File System Minifilter Driver
- description: A file data scanner example. Typically, anti-virus filters are of this type.
- generateZip: true
- preserveParentHierarchy: true
- author: windows-driver-samples
- languages:
- - cpp
- technologies:
- - windows
- vssolution: /filesys/miniFilter/scanner/scanner.sln
diff --git a/filesys/miniFilter/simrep/README.md b/filesys/miniFilter/simrep/README.md
index df02b1f5..60f16a60 100644
--- a/filesys/miniFilter/simrep/README.md
+++ b/filesys/miniFilter/simrep/README.md
@@ -1,3 +1,13 @@
+---
+topic: sample
+name: SimRep File System Minifilter Driver
+description: Demonstrates how a file system filter can simulate file-system like reparse-point behavior to redirect a file open to an alternate path.
+languages:
+ - cpp
+products:
+ - windows
+---
+
<!---
name: SimRep File System Minifilter Driver
platform: WDM
@@ -7,17 +17,15 @@
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617656
--->
-
-SimRep File System Minifilter Driver
-====================================
+# SimRep File System Minifilter Driver
SimRep is a sample filter that demonstrates how a file system filter can simulate file-system like reparse-point behavior to redirect a file open to an alternate path.
## Universal Windows Driver Compliant
+
This sample builds a Universal Windows Driver. It uses only APIs and DDIs that are included in OneCoreUAP.
-Design and Operation
---------------------
+## Design and Operation
Normally, if the file-system sees an open for a file with a reparse-point on it, the filesystem fills out the tag buffer and returns STATUS\_REPARSE. Minifilters see the post-operation callback for this create. As the create travels up file system filter stack in post-create path, each minifilter has the opportunity to interpret the reparse point if they own the tag. If no file system filter claims the tag, IO Manager will attempt to interpret the tag based on tags known to and serviced by IO Manager. If the tag is unknown to IO manager then the create is failed with STATUS\_IO\_REPARSE\_TAG\_NOT\_HANDLED. SimRep does not demonstrate how to handle the case where the file system hits a reparse-point on the file. Instead it "fakes" encountering a reparse point before the create reaches the filesystem. When SimRep detects a create for a path that it is redirecting, SimRep replaces the file name in the file object and completes the open with STATUS\_REPARSE. This means we reparse without actually going to the file system.
@@ -26,4 +34,3 @@ SimRep decides to reparse according to a mapping. The mapping is made up of a "N
It is important to note that SimRep does not take long and short names into account. It literally does a string comparison to detect overlap with the mapping paths. SimRep also handles IRP\_MJ\_NETWORK\_QUERY\_OPEN. Because network query opens are FastIo operations, they cannot be reparsed. This means network query opens which need to be redirected must be failed with FLT\_PREOP\_DISALLOW\_FASTIO. This will cause the Io Manager to reissue the open as a regular IRP based open. To prevent performance regression, SimRep only fails network query opens which need to be reparsed.
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.
-
diff --git a/filesys/miniFilter/simrep/filesys-minifilter-simrep.yml b/filesys/miniFilter/simrep/filesys-minifilter-simrep.yml
deleted file mode 100644
index c5d82551..00000000
--- a/filesys/miniFilter/simrep/filesys-minifilter-simrep.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-### YamlMime:Sample
-sample:
-- name: SimRep File System Minifilter Driver
- description: Demonstrates how a file system filter can simulate file-system like reparse-point behavior to redirect a file open to an alternate path.
- generateZip: true
- preserveParentHierarchy: true
- author: windows-driver-samples
- languages:
- - cpp
- technologies:
- - windows
- vssolution: /filesys/miniFilter/simrep/simrep.sln
diff --git a/filesys/miniFilter/swapBuffers/README.md b/filesys/miniFilter/swapBuffers/README.md
index f2c48181..b94292e8 100644
--- a/filesys/miniFilter/swapBuffers/README.md
+++ b/filesys/miniFilter/swapBuffers/README.md
@@ -1,3 +1,13 @@
+---
+topic: sample
+name: SwapBuffer File System Minifilter Driver
+description: Demonstrates how to switch buffers between reads and writes of data. This technique is particularly useful for encryption filters.
+languages:
+ - cpp
+products:
+ - windows
+---
+
<!---
name: SwapBuffer File System Minifilter Driver
platform: WDM
@@ -7,19 +17,16 @@
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617657
--->
-
-SwapBuffer File System Minifilter Driver
-========================================
+# SwapBuffer File System Minifilter Driver
The SwapBuffers minifilter demonstrates how to switch buffers between reads and writes of data. This technique is particularly useful for encryption filters because they have to encrypt data before writing it to disk and decrypt it after reading it from disk. Because encryption/decryption has to be done transparently, you cannot use system-supplied buffers directly, so intermediate buffers have to be introduced.
## Universal Windows Driver Compliant
+
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 *SwapBuffers* minifilter introduces a new buffer before a read/write or directory control operations. The corresponding operation is then performed on the new buffer instead of the buffer that was originally provided. After the operation completes, the contents of the new buffer are copied back in to the original buffer.
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.
-
diff --git a/filesys/miniFilter/swapBuffers/filesys-minifilter-swapbuffers.yml b/filesys/miniFilter/swapBuffers/filesys-minifilter-swapbuffers.yml
deleted file mode 100644
index 0f206567..00000000
--- a/filesys/miniFilter/swapBuffers/filesys-minifilter-swapbuffers.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-### YamlMime:Sample
-sample:
-- name: SwapBuffer File System Minifilter Driver
- description: Demonstrates how to switch buffers between reads and writes of data. This technique is particularly useful for encryption filters.
- generateZip: true
- preserveParentHierarchy: true
- author: windows-driver-samples
- languages:
- - cpp
- technologies:
- - windows
- vssolution: /filesys/miniFilter/swapBuffers/swapBuffers.sln