Skip to content

Commit

Permalink
Update README.md (#412)
Browse files Browse the repository at this point in the history
  • Loading branch information
barrygolden authored Sep 6, 2019
1 parent 22af247 commit bbe176e
Show file tree
Hide file tree
Showing 22 changed files with 129 additions and 357 deletions.
18 changes: 4 additions & 14 deletions setup/devcon/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,6 @@ products:
- windows-wdk
---


<!---
name: Device Console (DevCon) Tool
platform: Tool
language: cpp
category: Setup
description: DevCon enables, disables, installs, configures, and removes devices on the local computer and displays detailed information about devices on local and remote computers.
samplefwlink: https://go.microsoft.com/fwlink/p/?linkid=856741
--->

# Device Console (DevCon) Tool

[DevCon](http://msdn.microsoft.com/en-us/library/windows/hardware/ff544707) is a 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 and displays detailed information about devices on local and remote computers. DevCon is included in the WDK.
Expand Down Expand Up @@ -55,17 +45,17 @@ Type "devcon status \*PNP05\*" to list status of all COM ports.

### How DevCon works

Running "devcon help" will provide a list of commands along with short descriptions of what each command does. "devcon help \<command\>" will give more detailed help on that command. The interpretation of each command is done via a dispatch table "DispatchTable" that is at the bottom of "cmds.cpp". Some of the commands make use of a generic device enumerator "EnumerateDevices". A few of these commands will work when given a remote target computer, and will also work if using the 32-bit devcon on Wow64.
Running "devcon help" will provide a list of commands along with short descriptions of what each command does. "devcon help \<command\>" will give more detailed help on that command. The interpretation of each command is done via a dispatch table "DispatchTable" that is at the bottom of "cmds.cpp". Some of the commands make use of a generic device enumerator "EnumerateDevices". A few of these commands will work when given a remote target computer, and will also work if using the 32-bit devcon on Wow64.

A description of some of the more interesting functions and the APIs they use follows:

cmdClasses

- This command demonstrates the use of [**SetupDiBuildClassInfoListEx**](http://msdn.microsoft.com/en-us/library/windows/hardware/ff550911) to enumerate all device class GUID's. The function [**SetupDiClassNameFromGuidEx**](http://msdn.microsoft.com/en-us/library/windows/hardware/ff550950) and [**SetupDiGetClassDescriptionEx**](http://msdn.microsoft.com/en-us/library/windows/hardware/ff551058) are used to obtain more information about each device class.
- This command demonstrates the use of [**SetupDiBuildClassInfoListEx**](http://msdn.microsoft.com/en-us/library/windows/hardware/ff550911) to enumerate all device class GUIDs. The function [**SetupDiClassNameFromGuidEx**](http://msdn.microsoft.com/en-us/library/windows/hardware/ff550950) and [**SetupDiGetClassDescriptionEx**](http://msdn.microsoft.com/en-us/library/windows/hardware/ff551058) are used to obtain more information about each device class.

cmdListClass

- This command demonstrates the use of [**SetupDiClassGuidsFromNameEx**](http://msdn.microsoft.com/en-us/library/windows/hardware/ff550941) to enumerate one or more class GUID's that match the class name. This command also demonstrates the use of [**SetupDiGetClassDevsEx**](http://msdn.microsoft.com/en-us/library/windows/hardware/ff551072) to list all the devices for each class GUID.
- This command demonstrates the use of [**SetupDiClassGuidsFromNameEx**](http://msdn.microsoft.com/en-us/library/windows/hardware/ff550941) to enumerate one or more class GUIDs that match the class name. This command also demonstrates the use of [**SetupDiGetClassDevsEx**](http://msdn.microsoft.com/en-us/library/windows/hardware/ff551072) to list all the devices for each class GUID.

cmdFind cmdFindAll cmdStatus

Expand Down Expand Up @@ -141,4 +131,4 @@ DumpDeviceDriverNodes

DumpDeviceStack

- This function determines class and device upper and lower filters.
- This function determines class and device upper and lower filters.
16 changes: 6 additions & 10 deletions simbatt/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,12 @@ products:
- windows-wdk
---

# SimBatt: Simulated Battery Driver Sample

<!---
name: Simulated Battery Driver Sample
platform: KMDF
language: cpp
category: Battery Power
description: Demonstrates a KMDF-based implementation of Windows battery driver interfaces.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=620188
--->
SimBatt is simulated battery device driver.

# SimBatt: Simulated Battery Driver Sample
This source code is intended to demonstrate implementation of Windows battery driver interfaces.

This is a KMDF based sample.

SimBatt is simulated battery device driver, this source code is intended to demonstrate implementation of Windows battery driver interfaces. This is a KMDF based sample. You may use this sample as a starting point to implement a battery miniport specific to your needs.
You may use this sample as a starting point to implement a battery miniport specific to your needs.
20 changes: 6 additions & 14 deletions smartcrd/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,10 @@ products:
- windows-wdk
---


<!---
name: PCMCIA Smart Card Driver
platform: KMDF
language: cpp
category: SmartCard
description: Demonstrates how to write a KMDF driver for the SCM Microsystems PCMCIA smart card reader.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617968
--->

# PCMCIA Smart Card Driver

**Warning: This sample and its documentation are known to be out of date. They will be updated soon. Please be aware that some functionality may not work as expected.**
> [!WARNING]
> This sample and its documentation are known to be out of date. They will be updated soon. Please be aware that some functionality may not work as expected.
The PCMCIA Smart Card Driver is used for the SCM PCMCIA smart card reader. This driver is written using Kernel-Mode Driver Framework.

Expand All @@ -32,9 +23,10 @@ A card reader will not see any card insertion or removal events in these modes,

## Build the sample

For information on how to build a driver solution using Microsoft Visual Studio, see [Building a Driver](http://msdn.microsoft.com/en-us/library/windows/hardware/ff554644).
For information on how to build a driver solution using Microsoft Visual Studio, see [Building a Driver with Visual Studio and the WDK](https://docs.microsoft.com/windows-hardware/drivers/develop/building-a-driver).

**Note** You can obtain the co-installers by downloading the *wdfcoinstaller.msi* package from [WDK 8 Redistributable Components](http://go.microsoft.com/fwlink/p/?LinkID=226396).
> [!NOTE]
> You can obtain the co-installers by downloading the *wdfcoinstaller.msi* package from [WDK 8 Redistributable Components](https://go.microsoft.com/fwlink/p/?LinkID=253170).
## Run the sample

Expand All @@ -52,4 +44,4 @@ The driver will not unload as long as you have Ifdtest.exe running and connected

ISO 7816 Part 3 describes smart cards and smart card protocols in detail. Refer to the PC99 Handbook for smart card reader requirements.

For more information about Windows smart card reader drivers, see [Smart Card Reader Devices Design Guide](http://msdn.microsoft.com/en-us/library/windows/hardware/).
For more information about Windows smart card reader drivers, see [Smart Card Reader Devices Design Guide](https://docs.microsoft.com/windows-hardware/drivers/smartcard/).
12 changes: 1 addition & 11 deletions spb/SkeletonI2C/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,6 @@ products:
- windows-wdk
---


<!---
name: Skeleton I2C Sample Driver
platform: KMDF
language: cpp
category: SimplePeripheralBus
description: Demonstrates how to design a KMDF controller driver for Windows that conforms to the simple peripheral bus (SPB) device driver interface (DDI).
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617969
--->

# Skeleton I2C Sample Driver

The SkeletonI2C sample demonstrates how to design a KMDF controller driver for Windows that conforms to the [simple peripheral bus](http://msdn.microsoft.com/en-us/library/windows/hardware/hh450903) (SPB) device driver interface (DDI). SPB is an abstraction for low-speed serial buses (for example, I<sup>2</sup>C and SPI) that allows peripheral drivers to be developed for cross-platform use without any knowledge of the underlying bus hardware or device connections. While this sample implements an empty I<sup>2</sup>C driver, it could just as easily be the starting point for an SPI driver with only minor modifications.
Expand Down Expand Up @@ -127,4 +117,4 @@ Handles processing for both normal and error condition interrupts. Invokes `Cont

`ControllerCompleteTransfer`

Invoked when an I/O completes or an error is detected. If this I/O is part of a sequence, `PbcRequestConfigureForIndex`() is called to prepare the next I/O; otherwise, the request is marked for completion.
Invoked when an I/O completes or an error is detected. If this I/O is part of a sequence, `PbcRequestConfigureForIndex`() is called to prepare the next I/O; otherwise, the request is marked for completion.
12 changes: 1 addition & 11 deletions spb/SpbTestTool/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,6 @@ products:
- windows-wdk
---


<!---
name: SpbTestTool sample
platform: KMDF
language: cpp
category: SimplePeripheralBus
description: Demonstrates how to open a handle to the SPB controller, use the SPB interface from a KMDF driver, and employ GPIO.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617970
--->

# SpbTestTool

The SpbTestTool sample serves two purposes. First, it demonstrates how to open a handle to the [SPB controller](http://msdn.microsoft.com/en-us/library/windows/hardware/hh698220), use the SPB interface from a KMDF driver, and employ GPIO [passive-level interrupts](http://msdn.microsoft.com/en-us/library/windows/hardware/hh451035). Second, it implements a set of commands for communicating with a peripheral device to aid in debugging.
Expand Down Expand Up @@ -124,4 +114,4 @@ internal.h | Common includes and function definitions
main.cpp | Application entry point, input parsing, and main execution loop. Also contains the interrupt notification thread.
makefile | Redirects to the real makefile that is shared by all components of the WDK.
sources | Lists source files and build options.
util.cpp | Helper functions
util.cpp | Helper functions
13 changes: 1 addition & 12 deletions storage/class/cdrom/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,6 @@ products:
- windows-wdk
---



<!---
name: CDROM Storage Class Driver
platform: KMDF
language: cpp
category: Storage
description: Provide access to CD, DVD and Blu-ray drives, supports Plug and Play, Power Management, and AutoRun (media change notification).
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617971
--->

# CDROM Storage Class Driver

The CD ROM 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).
Expand Down Expand Up @@ -65,4 +54,4 @@ The in-box CD ROM driver is protected by the system, and thus a normal device dr
1. Click "Next" to complete the driver upgrade.
1. After installation completes successfully, "mycdrom.sys" will be the effective driver for the device, "cdrom.sys" will no longer be used.

For more information, see [CD-ROM Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff551391) in the storage technologies design guide.
For more information, see [CD-ROM Drivers](https://docs.microsoft.com/windows-hardware/drivers/storage/cd-rom-drivers) in the storage technologies design guide.
20 changes: 6 additions & 14 deletions storage/msdsm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,6 @@ products:
- windows-wdk
---



<!---
name: Multipath I/O (MPIO) DSM Sample
platform: WDM
language: cpp
category: Storage
description: Provides a sample for building vendor-specific device-specific modules (DSM), supports iSCSI and Fibre Channel devices.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=620203
--->

# Multipath I/O (MPIO) DSM Sample

The MPIO DSM Sample is intended to serve as an example to follow when building your own vendor specific device specific modules (DSM). This sample DSM supports iSCSI and Fibre Channel devices.
Expand Down Expand Up @@ -105,7 +94,8 @@ AddReg = mydsm_addreg

This next section contains the Hardware ID strings for your devices. You can have more than one. Sample format: "VENDOR PRODUCT " - remember to use spaces in a field (vendor, product ID) to pad this to be eight characters for the vendor name (as registered with STA) and sixteen for the product ID (unless the supported devices share a common prefix, in which case the product ID can be less than 16 characters).

**Note** Underscores that are part of the inquiry string (applies to vendor ID as well as product ID fields) must NOT be replaced with spaces.
> [!NOTE]
> Underscores that are part of the inquiry string (applies to vendor ID as well as product ID fields) must NOT be replaced with spaces.
In this sample, there are two different strings:

Expand Down Expand Up @@ -211,6 +201,8 @@ You should be aware of the following when you install the MPIO DSM sample:

It is expected that the adapter that hosts the system volumes (boot/paging) will not restart, but that should not be problem if you are not multipathing the boot volume. However, if you are multipathing the boot volume, you will need to restart the system.

**Note** Other filter drivers installed as port filters may interfere with the proper operation of the MPIO port filter. Microsoft does not recommend the use of such filter drivers which may be supplied by HBA miniport vendors.
> [!NOTE]
> Other filter drivers installed as port filters may interfere with the proper operation of the MPIO port filter. Microsoft does not recommend the use of such filter drivers which may be supplied by HBA miniport vendors.
**Note** Since your DSM binary is not signed, you will get Unsigned Driver Pop-Ups. Ignore these and accept the installation of the new driver. Once your package has been successfully qualified by WHQL, your binaries will get signed and your customers will not get unsigned driver popups.
> [!NOTE]
> Since your DSM binary is not signed, you will get Unsigned Driver Pop-Ups. Ignore these and accept the installation of the new driver. Once your package has been successfully qualified by WHQL, your binaries will get signed and your customers will not get unsigned driver popups.
12 changes: 1 addition & 11 deletions tools/sdv/samples/SDV-FailDriver-KMDF/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,6 @@ products:
- windows-wdk
---


<!---
name: SDV-FailDriver-KMDF
platform: KMDF
language: cpp
category: StaticDriverVerifier Tools
description: Demonstrates how Static Driver Verifier (SDV) can find errors in a KMDF driver.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617993
--->

# SDV-FailDriver-KMDF

The SDV-FailDriver-KMDF sample driver contains intentional code errors that are designed to show the capabilities and features of [Static Driver Verifier](http://msdn.microsoft.com/en-us/library/windows/hardware/ff552808) (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.
Expand Down Expand Up @@ -59,4 +49,4 @@ The SDV-FailDriver-KMDF sample driver contains intentional code errors that are

As the static analysis proceeds, SDV reports the status of the analysis. When the analysis is complete, SDV reports the results and statistics. If the driver fails to satisfy a DDI usage rule, the result is reported as a defect. SDV finds 8 defects in this sample.

On the **Main** tab, under **Results**, click the **Rules** tab. This tab displays the name of each rule that was verified in the last run and the results of the analysis. To view the reported defects, click the **Defect** link in the **Results** column. This opens the [Static Driver Verifier Report Page](http://msdn.microsoft.com/en-us/library/windows/hardware/ff552834) and the [Trace Viewer](http://msdn.microsoft.com/en-us/library/windows/hardware/ff544659), which displays a trace of the code path to the rule violation. For more information, see [Interpreting Static Driver Verifier Results](http://msdn.microsoft.com/en-us/library/windows/hardware/ff547228).
On the **Main** tab, under **Results**, click the **Rules** tab. This tab displays the name of each rule that was verified in the last run and the results of the analysis. To view the reported defects, click the **Defect** link in the **Results** column. This opens the [Static Driver Verifier Report Page](http://msdn.microsoft.com/en-us/library/windows/hardware/ff552834) and the [Trace Viewer](http://msdn.microsoft.com/en-us/library/windows/hardware/ff544659), which displays a trace of the code path to the rule violation. For more information, see [Interpreting Static Driver Verifier Results](http://msdn.microsoft.com/en-us/library/windows/hardware/ff547228).
12 changes: 1 addition & 11 deletions tools/sdv/samples/SDV-FailDriver-STORPORT/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,6 @@ products:
- windows-wdk
---


<!---
name: SDV-FailDriver-STORPORT
platform: KMDF
language: cpp
category: StaticDriverVerifier
description: Demonstrates how Static Driver Verifier (SDV) can find errors in a Storport driver.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617997
--->

# SDV-FailDriver-STORPORT

The SDV-FailDriver-Storport sample driver contains intentional code errors that are designed to show the capabilities and features of [Static Driver Verifier](http://msdn.microsoft.com/en-us/library/windows/hardware/ff552808) (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.
Expand Down Expand Up @@ -54,4 +44,4 @@ The SDV-FailDriver-Storport sample driver contains intentional code errors that

As the static analysis proceeds, SDV reports the status of the analysis. When the analysis is complete, SDV reports the results and statistics. If the driver fails to satisfy a DDI usage rule, the result is reported as a defect. SDV finds 7 defects in this sample.

On the **Main** tab, under **Results**, click the **Rules** tab. This tab displays the name of each rule that was verified in the last run and the results of the analysis. To view the reported defects, click the **Defect** link in the **Results** column. This opens the [Static Driver Verifier Report Page](http://msdn.microsoft.com/en-us/library/windows/hardware/ff552834) and the [Trace Viewer](http://msdn.microsoft.com/en-us/library/windows/hardware/ff544659), which displays a trace of the code path to the rule violation. For more information, see [Interpreting Static Driver Verifier Results](http://msdn.microsoft.com/en-us/library/windows/hardware/ff547228).
On the **Main** tab, under **Results**, click the **Rules** tab. This tab displays the name of each rule that was verified in the last run and the results of the analysis. To view the reported defects, click the **Defect** link in the **Results** column. This opens the [Static Driver Verifier Report Page](http://msdn.microsoft.com/en-us/library/windows/hardware/ff552834) and the [Trace Viewer](http://msdn.microsoft.com/en-us/library/windows/hardware/ff544659), which displays a trace of the code path to the rule violation. For more information, see [Interpreting Static Driver Verifier Results](http://msdn.microsoft.com/en-us/library/windows/hardware/ff547228).
Loading

0 comments on commit bbe176e

Please sign in to comment.