Windows Driver Kit Samples Pack

A collection of all the Windows Driver Kit (WDK) 8.1 driver samples is available as a single download. The samples are provided as Microsoft Visual Studio solutions and work with Microsoft Visual Studio 2013 and the WDK 8.1. The following are the samples included in this single download.

USB

Sample NameSolutionDescription
USBViewusbviewA Windows application that allows you to browse all USB controllers and connected USB devices on your system.
UsbsampusbsampDemonstrates how to perform full speed, high speed, and SuperSpeed transfers to and from bulk and isochronous endpoints of a generic USB device.
HIDUSBFX2hidusbfx2Demonstrates mapping of a non-HID USB device to a HID device.

 

Device Connectivity

Sample NameSolutionDescription
SerenumserenumEnumerates Plug-n-Play RS-232 devices that are compliant with the current revision of Plug and Play External COM Device.
SerialserialThe Serial (16550-based RS-232) sample driver is a WDF version of the inbox Serial.sys driver.
Virtual SerialVirtualSerialThis sample demonstrates serial drivers. It includes a simple virtual serial driver (ComPort) and a controller-less modem driver (FakeModem).
Bluetooth Echo L2CAP Profile Driver bthechoDemonstrates development of Bluetooth L2CAP profile drivers using the Bluetooth L2CAP DDIs.
Uart16550pc uart16550pcDemonstrates how to design an extension-based serial controller driver for a 16550 UART. This driver works in conjunction with the serial framework extension (SerCx) to handle IOCTL_SERIAL_XXX requests for a peripheral device that is connected to a port on the UART.
FakemodemfakemodemThe Fakemodem sample demonstrates a simple controller-less modem driver. This driver supports sending and receiving AT commands using the ReadFile/WriteFile calls or via a TAPI interface.
Near Field Proximiy DrivernetnfpDemonstrates how to use User-Mode Driver Framework (UMDF) to write a near-field proximity driver.
Hybrid 1394 Virtual Devicevdev_hybridA KMDF function driver and a UMDF upper filter driver that together represent a 1394 virtual device. The sample demonstrates application to device interaction, as well as use of both UMDF and KMDF in the same device stack.
Bluetooth Serial HCI Bus DriverserialhcibusDemonstrates how to implement a basic bus driver to support the new Bluetooth Extensibility transport DDIs over the UART transport.

 

Audio

Sample NameSolutionDescription
AC97 Driverac97AC97 adapter driver and several related code samples. Shows how to develop a WDM audio adapter driver that incorporates a wavePci miniport driver for the AC97 controller's wave audio device.
Virtual Audio DevicemsvadA collection of sample drivers that demonstrate the basics of writing a WDM audio driver. All the sample drivers use the same "virtual audio device" instead of an actual hardware-based adapter.
Audio AdaptersadaptersContains the Stdunk and MPU-401 driver samples. The Stdunk sample shows how to develop a generalized implementation of an audio driver interface. The MPU-401 sample is an adapter sample for the MPU-401 device.
SlateAudioSamplesysvadThe Microsoft Slate Virtual Audio Device Driver SlateAudioSample project demonstrates how to develop a WDM audio driver that exposes support for multiple audio devices. Some of these audio devices are embedded (speakers, mic arrays) in the system while others are pluggable (headphone speaker/mic, Bluetooth headsets speaker/mic). The driver uses WaveRT and audio offloading for rendering devices. The driver uses a "virtual audio device" instead of an actual hardware-based adapter and highlights the different aspects of the audio offloading WDM audio driver architecture. For more information about the Windows audio engine, see Hardware-Offloaded Audio Processing (Windows Drivers), and note that audio hardware that is offload-capable replicates the architecture that is presented in the diagram shown in the topic.
Audio Processing ObjectssysvadA collection of two driver samples that demonstrate the way to register and unregister audio processing objects, and also show how to customize a Control Panel property page to reflect the available features in the processing object. The sample applies to both local effects (LFX) and global effects (GFX) audio processing objects.
DirectMusic UARTdmusuartA DMus miniport driver. It provides applications that use DirectMusic or the multimedia midiInXxx and midiOutXxx functions with an interface to the MPU-401 chip.
DirectMusic Software Synthesizer SampleddksynthContains sample code for a kernel-mode software synthesizer that plugs into the Microsoft® DirectMusic® and WDM Audio architectures. You can use this sample code to start building your own software synthesizer, and then modify the sample to add your own features.
FM SynthesizerfmsynthA MIDI miniport driver that driver provides applications using the multimedia midiOutXxx functions with an interface to a device that implements OPL3-style FM synthesis.

 

Audio Filter/Codec Samples

MsFiltermsfilterA codec sample that provides routines for volume and echo effects that you can apply to any audio content.
Msgsm610gsm610Implements a software codec that performs speech compression on a digital audio stream that contains voice content.

 

Media Streaming

Sample NameSolutionDescription
AVStreamavshwsA simulated hardware sample driver providing a pin-centric capture driver to simulate AV capture hardware.
Driver MFTSampleMft0A driver MFT for use with a camera's Windows Store device app. A driver MFT is a Media Foundation Transform that's used with a specific camera when capturing video.
AVSSampavssampThe AVStream filter-centric simulated capture sample driver with functional audio.

 

HID

Sample NameSolutionDescription
HClient ApplicationhclientDemonstrates how to write a user-mode client application that communicates with HID devices conforming to the HID device class specification.
UMDF HID MinidrivervhidminiA sample demonstrating how to write a HID minidriver using the User-Mode Driver Framework (UMDF).
KMDF HID FilterfireflyA filter driver for a HID device. Along with illustrating how to write a filter driver, this sample shows how to use remote I/O target interfaces to open a HID collection in kernel-mode and send IOCTL requests to set and get feature reports, as well as how an application can use WMI interfaces to send commands to a filter driver.

 

Windows Portable Device (WPD)

Sample NameSolutionDescription
Bluetooth Low Energy GATT Profile DriversWpdSamples Demonstrates how to implement a basic WPD driver that will work with a blood pressure monitor, a heart rate monitor, thermometer, and the Texas Instrument's CC2540 Mini Development Kit. The drivers use the Bluetooth Low Energy (LE) profile.
Hello World ExampleWpdHelloWorldDriverThis sample driver supports four objects: a device object, a storage object, a folder object, and a file object. Each object supports a set of properties.
Basic Hardware DriverWpdBasicHardwareDriverA WPD driver that supports nine devices selected because of their simplicity. This simplicity allowed the sample to focus on the tasks that are common to portable devices without getting bogged down in hardware complexities.
WUDF DriverWpdWudfSampleDriverA comprehensive WPD sample driver demonstrates virtually all aspects of the WPD device driver interface (DDI).
Multi-transport DriverWpdMultiTransportDriverDemonstrates how you could extend the Wpd HelloWorld driver for a device that supports multiple transports. A transport is a protocol over which a portable device communicates with a computer. Example transports include Internet Protocol (IP), Bluetooth, and USB.

 

KMDF

Sample NameSolutionDescription
KMDF Function Driverkmdf_fx2 A Kernel-Mode Driver Framework (KMDF) driver for the OSR USB-FX2 device. It includes a test application and sample device metadata.
KMDF EchokmdfechoDemonstrates how to use a sequential queue to serialize read and write requests presented to the driver.
KMDF Bus Driverkmdf_enumswitchesDemonstrates how to use KMDF for a bus driver with the OSR USB-FX2 device.
WmiSampwmisamp WMI Provider is a sample KMDF driver.
NONPNPioctlDemonstrates how to write a NON-PNP driver using the Kernel Mode Driver Framework.
WDF Driver Learning Lab wdf_osrfx2_labContains a console test application and a series of iterative drivers for both Kernel-Mode Driver Framework (KMDF) and User-Mode Driver Framework (UMDF).

 

UMDF

Sample NameSolutionDescription
UMDF Driver SkeletonumdfSkeleton Demonstrates how to use the User-Mode Driver Framework to write a minimal driver and shows best practices.
UMDF Function Driverumdf_fx2A User-Mode Driver Framework (UMDF) driver for the OSR USB-FX2 device. It includes a test application and sample device metadata, and supports impersonation and idle power down.
UMDF Filter Driverumdf_filter_umdfDemonstrates how to load a UMDF filter driver as an upper filter driver above the UMDF Function driver.
UMDF Filter Driver above KMDF Function Driverumdf_filter_umdDemonstrates how to load a UMDF filter driver as an upper filter driver above the kmdf_fx2 sample driver.
UMDF EchoWUDFEchoDriverDemonstrates how to use UMDF to write a driver and to employ best practices.
UMDF SocketEchoumdfsocketechoDemonstrates how to use the UMDF to write a driver and demonstrates best practices.
WDF Driver Learning Labwdf_osrfx2_labContains a console test application and a series of iterative drivers for both Kernel-Mode Driver Framework (KMDF) and User-Mode Driver Framework (UMDF).

 

Print and Imaging

Sample NameSolutionDescription
Windows Image Acquisition Driverswia A driver sample set containing samples and test tools for Windows Image Acquisition (WIA), a driver architecture and user interface for acquiring images from still image devices such as scanners and digital still cameras.
Printer ExtensionPrinterExtensionSampleDemonstrates how to use .NET to build a customized, desktop UI for a v4 print driver. This .NET application uses PrintTicket, PrintCapabilities and Bidi in order to communicate with the print system and is suitable for inclusion in a v4 print driver.
OEM Printer Custom Plug-insoemdllThe samples illustrate OEM customization plug-ins. The BITMAP, OEMPS, OEMUI, OEMUNI, OEMPREAN, CUSTHLP, SyncSet, ThemeUI, PSUIRep, and Watermark samples do not affect the printer output. They are only examples of how to build OEM Customization DLLs of various types.
XPSDrv Driver and FilterXPSDrvSmplThis sample is intended to provide a starting point for developing XPSDrv printer drivers and to illustrate the facility and potential of an XPSDrv print driver. This goal is accomplished by implementing a number of real-world features within a set of XPS print pipeline filters that are configured through a configuration plug-in that supports custom UI content and PrintTicket handling.
Print MonitorsmonitorsMonitor samples which handle communications between the print spooler and other print control elements.
MSPLOT Plotter DrivermsplotA printer driver that is designed to support all HPGL/2 compatible plotters.
Generic Text-OnlyttyDemonstrates how to implement a print driver that is Unidrv-based, generic, and text-only.
Print USB Monitor and BiDiUSBMon-Bidi-ExtensionDemonstrates how to support bidirectional (Bidi) communication over the USB bus, using JavaScript and XML. This sample supports bidirectional status while not printing, and unsolicited status from the printer while printing.
GenPrint Print ProcessorgenprintDemonstrates how to implement a print processor.
Print Auto ConfigurationautoconfigDemonstrates how to implement Unidrv-based and PScript5-based drivers to leverage the inbox support for auto-configuration. The sample works only when used with the standard TCP/IP port monitor or the Network-Connected Device (NCD) port monitor.
XPS Rasterization Filter ServiceXpsRasFilterAn XPSDrv filter that rasterizes fixed pages in an XPS document. Hardware vendors can modify this sample to build an XPSDrv filter that produces bitmap images for their printers or other display devices.
OpenXPS DocumentsSampleOpenXpsContains a set of documents that were generated from a variety of sources, including those generated from the Windows Presentation Foundation in the .NET Framework, from Office 2007, and from the Microsoft XPS Document Writer (MXDW). They have been included to provide you with a few documents that exercise a variety of features of the XML Paper Specification.
Print Driver ConstraintsConstraintScriptDemonstrates how to implement advanced constraint handling, and also PrintTicket/PrintCapabilities handling using JavaScript.
XPS DocumentsSampleXPSContains a set of documents that were generated from a variety of sources, including those generated from the Windows Presentation Foundation in the .NET Framework, from Office 2007, and from the Microsoft XPS Document Writer (MXDW). They have been included to provide you with a few documents that exercise a variety of features of the XML Paper Specification.
Async NotificationasyncnotifyDemonstrates how to implement AsyncNotification to communicate between registered applications and printing components that are loaded in the spooler.
Print Queue ASPqueueaspThis sample creates a custom device status active server page (ASP) for a Web printer. In this case, a modified document queue view is implemented, with e-mail and phone links to a fictitous helpdesk.
Common Property Sheet UIcpsuisamAn application that causes the Common Property Sheet User Interface (CPSUI) to call the Windows print spooler to create property sheet pages for the system's default printer.
Print Provider TemplateppA template that contains skeletal implementations of the functions that print providers should define.
Print Pipeline Simple FilterSimplePipelineFilterShows how to use the print pipeline's filter interfaces.
Print Driver INFPrintDriver-infsShows how to build an information file (INF) for a v3 print driver. The guidance provided in this sample can be used to build INFs for all the other print samples that require INFs.
USB Host-Based Print DriverHostBasedSampleDriver Demonstrates how to support host-based devices that use the v4 print driver model, and are connected via USB.
WSDMon Bidi ExtensionWSDMon-Bidi-ExtensionDemonstrates how to use an XML extension file to support bidirectional (Bidi) communication with a WSD connected printer.
WSDMon Bidi ExtensionUSBMon-Bidi-Extension Demonstrates how to support bidirectional (Bidi) communication over the USB bus, using JavaScript and XML

 

Networking

Sample NameSolutionDescription
NDIS 6.0 FilterfilterThe sample is a do-nothing pass-through NDIS 6 filter driver demonstrating the basic principles of an NDIS 6.0 Filter driver.
Windows Filtering PlatformWFPSamplerThis is a sample firewall. It has a command-line interface which allows adding filters at various WFP layers under various conditions. Additionally, it exposes callouts for injection, basic action, proxying, and stream inspection.
Native WiFi MiniportathwifiIllustrates the typical behavior of a Native Wi-Fi miniport driver. This driver is an NDIS 6.20 miniport driver that conforms to the Microsoft Native WiFi miniport driver specification.
WFP Packet ModificationddproxyDemonstrates the packet modification capabilities of the Windows Filtering Platform (WFP).
WFP MSN Messenger Monitor msnmntrA sample application and driver demonstrating the stream inspection capabilities of the Windows Filtering Platform (WFP).
Native WiFi IHV ServicewlanDemonstrates IHV extensibility for native WiFi.
WFP Traffic InspectioninspectDemonstrates the traffic inspection capabilities of the Windows Filtering Platform (WFP).
Connectionless NDIS 6.0 Protocol Driverndisprot_kmdfThis driver supports sending and receiving raw Ethernet frames using ReadFile/WriteFile calls from user-mode. As an NDIS protocol driver, it illustrates how to establish and tear down bindings to Ethernet adapters.
WSK TCP Echo ServerechosrvThis sample driver is a minimal driver meant to demonstrate the usage of the Winsock Kernel (WSK) programming interface.
Connectionless NDIS 6.0 and 6.3 Protocol Driverndisprot60This driver supports sending and receiving raw Ethernet frames using ReadFile/WriteFile calls from user-mode. As an NDIS protocol driver, it illustrates how to establish and tear down bindings to Ethernet adapters.
WFP Stream EditstmeditDemonstrates replacing a string pattern for a Transmission Control Protocol (TCP) connection using the Windows Filtering Platform (WFP).
BindviewbindviewAn application that demonstrates how to use INetCfg APIs to enumerate, install, uninstall, bind and unbind network components.
Radio ManagerRadioManagerSampleDemonstrates how to structure a Radio Manager for use with the Windows Radio Management APIs.
NDIS MUX Intermediate Driver and Notify ObjectmuxAn NDIS 6.0 driver that demonstrates the operation of an “N:1” MUX driver. The sample create multiple virtual network devices on top of a single lower adapter.
Hyper-V Extensible Switch Extension FilterextensionsA base library used to implement a Hyper-V Extensible Switch extension filter driver.

 

Sensors

Sample NameSolutionDescription
Geolocation DriverSensorsGeolocationDriverSampleDemonstrates a minimal UMDF driver that emulates a Global Positioning System (GPS) device. Note that this sample is applicable to other global navigation satellite system (GNSS) solutions.
SPB Accelerometer SpbAccelerometerShows how to write a UMDF driver to control a peripheral device that is connected to a simple peripheral bus (SPB). In this sample, the peripheral device is a sensor (an accelerometer) and the SPB is an I2C bus.
Sensors HID DriverSensorsHIDDriverSampleThe HID sample driver for sensors demonstrates how an OEM or IHV could write a UMDF driver to support sensors that are compliant with the HID Sensor Class Driver specification. This driver is also helpful for IHVs who must design and test firmware for a HID-based sensor.
Biometric DriversWBDISampleContains the Windows Biometric Driver Interface sample and the Windows Biometric Service Adapter samples.
SimSensorsimsensorA simulated temperature sensor device.
SimThermalClientthermalsampleSimulates a device that is a client of Windows thermal management. This driver publishes a GUID_THERMAL_COOLING_INTERFACE driver interface.

 

Input Devices

Sample NameSolutionDescription
Keyboard Filterkbfiltr A WDF example of a keyboard input filter driver.
Mouse FiltermoufiltrA WDF example of a mouse input filter driver.
Keyboard LayoutkbdDemonstrates how to generate layouts for various keyboards and locales.

 

General Samples

Sample NameSolutionDescription
IOCTLioctl Demonstrates the usage of four different types of IOCTLs (METHOD_IN_DIRECT, METHOD_OUT_DIRECT, METHOD_NEITHER, and METHOD_BUFFERED).
ToastertoasterA collection of a series of samples that, in progression, demonstrate fundamental aspects of Windows driver development.
ToastpkgtoastpkgSimulates hardware-first and software-first installation of the toaster sample driver.
PCIDRVpcidrvThis sample demonstrates how to write a KMDF driver for a PCI device. The sample works with the Intel 82557/82558 based PCI Ethernet Adapter (10/100) and Intel compatibles.
ObCallbackobcallbackDemonstrates the use of registered callbacks for process protection. The driver registers control callbacks which are called at process creation.
GPIO DriverssimThe GPIO driver samples contain annotated code to illustrate how to write a GPIO controller driver that works in conjunction with the GPIO framework extension (GpioClx) to handle GPIO I/O control requests, and a peripheral driver that runs in kernel mode and uses GPIO resources.
PLX9x5x PCI DriverPLX9x5xDemonstrates how to write driver for a generic PCI device using Windows Driver Framework. The target hardware for this driver is PLX9656/9653RDK-LITE board.
SkeletonI2CSkeletonI2CDemonstrates how to design a KMDF controller driver that conforms to the simple peripheral bus (SPB) device driver interface (DDI). SPB is an abstraction for low-speed serial buses (for example, I2C and SPI) that allows peripheral drivers to be developed for cross-platform use without any knowledge of the underlying bus hardware or device connections.
WMIACPIwmiacpiContains ACPI BIOS and Microsoft Windows Management Instrumentation (WMI) sample code that enables instrumentation of the ACPI BIOS from within ACPI Source Language (ASL) code.
AMCC5933amcc5933Demonstrates how to write driver for a generic PCI device using the Windows Driver Framework.
SpbTestToolSpbTestToolDemonstrates how to open a handle to the SPB controller and implements a set of commands for communicating with a peripheral device to aid in debugging.
Hardware EventeventDemonstrates two different ways a kernel-mode driver can notify an application about a hardware event. One way uses an event-based method, and the other uses an IRP-based method. The sample driver uses a timer DPC to simulate hardware events.
PortIOportioA sample driver for a generic port I/O device which shows how to use an INF file to reserve I/O ports for a non-Plug and Play device, and how to read and write to the device from a user-mode application.
System DMASystemDmaDemonstrates the usage of V3 System DMA. It shows how a driver could use a system DMA controller supported by Windows to write data to a hardware location using DMA.
Cancel Safe IRP QueuecancelDemonstrates the use of the cancel-safe queue routines IoCsqInitialize, IoCsqInsertIrp, IoCsqRemoveIrp, IoCsqRemoveNextIrp. By using these routines, driver developers do not have to worry about IRP cancellation race conditions.
PoFx DriverspofxTwo samples that demonstrate how a KMDF driver can implement F-state-based power management. The SingleComp sample demonstrates how a KMDF driver can implement F-state-based power management for a device that has only a single component. The MultiComp sample demonstrates how a KMDF driver can implement F-state-based power management for a device that has an arbitrary number of components that can be individually power-managed
RegFltr regflltrShows how to write a registry filter driver.
Early Launch Anti-Malware DriverelamDemonstrates how to receive notifications about the initialization of regular boot start drivers in an Early Launch Anti-Malware driver.
WMI Data ProviderwmisampDemonstrates how to register WMI providers in KMDF and create provider instances and how to handle the WMI queries sent to a device.

 

Installation

Sample NamedSolutionDescription
Device Console (Devcon)devconA command-line tool that displays detailed information about devices, and lets you search for and manipulate devices from the command line. DevCon enables, disables, installs, configures, and removes devices on the local computer. It also displays detailed information about devices on local and remote computers.
Driver Install FrameworksDIFxAPIDemonstrates how to use DIFXAPI to preinstall, install and uninstall a driver package.
WDF Installation PackageinstallWdfDemonstrates how to install WDF packages on a system. This code can be used as-is to install the needed WDF components onto a user system. The sample code can also be reworked into an existing setup application to provide a better experience.

 

Display

Sample NamedSolutionDescription
KMDODKMDODA kernel mode display-only miniport driver (KMDOD) sample that implements most of the device driver interfaces (DDIs) that a display-only miniport driver should provide to the Windows Display Driver Model (WDDM).
PixLibpixlibDemonstrates how to implement the CPixel class for use by a display driver.
SideShow DriversideshowIllustrates how to implement a Windows SideShow driver for a device that is capable of displaying simple bitmaps.

 

Diagnostic

Sample NameSolutionDescription
Kernel CounterkcsDemonstrates the use of the kernel-mode performance library. The driver does not control any hardware; it simply provides counters. The code contains comments to explain what each function does.
EventDrveventA kernel-mode trace provider and driver. The driver does not control any hardware; it simply generates trace events. It is designed to demonstrate the use of the Event Tracing for Windows (ETW) API in a driver.
SDV-FailDriver-StorportSDV-FailDriver-StorportContains intentional code errors that are designed to show the capabilities and features of Static Driver Verifier (SDV). SDV is a static verification tool that systematically analyzes the source code of Windows kernel-mode drivers. SDV is included in the Windows Driver Kit (WDK) and can be run from Microsoft Visual Studio. The sample demonstrates how SDV can find errors in a Storport driver.
SDV-FailDriver-KMDFSDV-FailDriver-KMDFContains intentional code errors that are designed to show the capabilities and features of Static Driver Verifier (SDV). SDV is a static verification tool that systematically analyzes the source code of Windows kernel-mode drivers. SDV is included in the Windows Driver Kit (WDK) and can be run from Microsoft Visual Studio. The sample demonstrates how SDV can find errors in a KMDF driver.
SDV-FailDriver-NDISSDV-FailDriver-NDISContains intentional code errors that are designed to show the capabilities and features of Static Driver Verifier (SDV). SDV is a static verification tool that systematically analyzes the source code of Windows kernel-mode drivers. SDV is included in the Windows Driver Kit (WDK) and can be run from Microsoft Visual Studio. The sample demonstrates how SDV can find errors in a NDIS driver.
SDV-FailDriver-WDMSDV-FailDriver-WDMContains intentional code errors that are designed to show the capabilities and features of Static Driver Verifier (SDV). SDV is a static verification tool that systematically analyzes the source code of Windows kernel-mode drivers. SDV is included in the Windows Driver Kit (WDK) and can be run from Microsoft Visual Studio. The sample demonstrates how SDV can find errors in a WDM driver.

 

File System Filters (Filter Manager Minifilters)

Sample NameSolutionDescription
AVScanavscanThis filter is a transaction-aware file scanner that examines data in files. Anti-virus might operate in this fashion.
ScannerscannerA file data scanner example. Typically, anti-virus filters are of this type.
MinispyminispyA tool to monitor and log any I/O and transaction activity that occurs in the system.
SimRepsimrepDemonstrates how a file system filter can simulate file-system like reparse-point behavior to redirect a file open to an alternate path.
DeletedeleteDemonstrates how to detect deletions of files or streams.
SwapBufferswapBuffersDemonstrates how to switch buffers between reads and writes of data. This technique is particularly useful for encryption filters.
NameChangerNameChangerGrafts 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
CtxctxDemonstrates how to attach contexts to instances, files, streams, and stream handles in your minifilter.
CDOcdoAn example of using a control device object (CDO) with a minifilter.
PassThroughpassThroughDemonstrates how to specify callback functions for different types of I/O requests.
NullFilternullFilterA minifilter that simply demonstrates registration with the filter manager.
ChangechangeA transaction-aware filter that monitors file changes in real time.
CancelSafecancelSafeA minifilter demonstrating the use of cancel-safe queues.
Metadata ManagerMetadataManagerServes as an example of how 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.

 

File Systems

Sample NameSolutionDescription
FastFATfastfatfile system driver based on the Windows inbox FastFAT file system used as a model for new file systems.
CDFScdfsThe CD-ROM file system driver (cdfs) sample is a file system driver for removable media.
FileHistoryfilehistoryA console application that starts the file history service, if it is stopped, and schedules regular backups. The application requires, as a command-line parameter, the path name of a storage device to use as the default backup target.

 

Storage

Sample NameSolutionDescription
RAMDiskramdiskThe driver creates RAM disk drive of a specified size. This RAM disk can be used like any other disk.
StorAHCI StorPort Miniportstorahci A sample Storport ACHI miniport driver.
MPIO Device Specific Module (DSM)msdsmAm example to follow when building a vendor specific, device specific module (DSM). This sample DSM supports iSCSI and Fibre Channel devices.
CDROM Class DrivercdromThe CD ROM class driver is used to provide access to CD, DVD and Blu-ray drives. It supports Plug and Play, Power Management, and AutoRun (media change notification).
PCMCIA Smart CardpscrA Smart Card Driver based on KMDF used with the SCM PCMCIA smart card reader.
SDIO DriversdiomarsA functional Secure Digital (SD) IO driver. It is a KMDF driver for a generic mars development board that implements the SDIO protocol without additional functionality.
ClassPnP Class Driver LibraryclasspnpA library storage class drivers. It simplifies writing a storage class driver by most of the code needed to support Plug and Play (PnP), power management, and other features. This library is used by disk, CDROM, and the tape class drivers.
iSCSI WMI ClientiscsiA WMI Implementation in an iSCSI miniport which can be tested using the iSCSICLI.exe tool, the iSCSI Initiator Properties page, the WBEMTEST.exe tool, and customized WMI scripts.
Disk Class DriverdiskA class driver for disk devices.
SCSI Pass-Through Interface ToolsptiDemonstrates how to communicate with a SCSI device from using the pass through IOCTLs in an application using the DeviceIoControl API.
AddFilter Storage Filter TooladdfilterA command-line application that adds and removes filter drivers for a given drive or volume.
LSI_U3 StorPort Miniport lsi_u3An adapter driver for use with Parallel SCSI Host Bus Adapters or on-motherboard solutions that use the LSI 53C1010 SCSI ASIC.
Super Floppy (sfloppy) Storage Class Driversfloppy A class driver for Super Floppy disk drives.

 

 

 

Send comments about this topic to Microsoft

표시:
© 2014 Microsoft