Skip to content

Commit

Permalink
Update README.md (#425)
Browse files Browse the repository at this point in the history
  • Loading branch information
barrygolden authored Sep 26, 2019
1 parent 2e23771 commit d2a0186
Show file tree
Hide file tree
Showing 20 changed files with 189 additions and 291 deletions.
10 changes: 0 additions & 10 deletions TrEE/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,6 @@ products:
- windows-wdk
---


<!---
name: TrEE sample
platform: KMDF
language: cpp
category: TrEE
description: TrEE sample
samplefwlink: https://go.microsoft.com/fwlink/p/?linkid=869055
--->

# TrEE sample

The Trusted Execution Environment (TrEE) sample.
25 changes: 9 additions & 16 deletions serial/VirtualSerial/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,37 +8,30 @@ products:
- windows-wdk
---


<!---
name: Virtual serial driver sample
platform: UMDF1
language: cpp
category: Serial
description: Demonstrates a simple virtual serial driver (ComPort) and a controller-less modem driver (FakeModem).
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617963
--->

# Virtual serial driver sample

This sample demonstrates these two serial drivers:

- A simple virtual serial driver (ComPort)

- A controller-less modem driver (FakeModem).This driver supports sending and receiving AT commands using the ReadFile and WriteFile calls or via a TAPI interface using an application such as, HyperTerminal.

This sample driver is a minimal driver meant to demonstrate the usage of the User-Mode Driver Framework. It is not intended for use in a production environment.

For more information, see [Serial Controller and Device Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff546939) in the WDK documentation.
For more information, see the [Serial Controller Driver Design Guide](https://docs.microsoft.com/windows-hardware/drivers/serports/).

## Code tour

### comsup.cpp & comsup.h
### comsup.cpp and comsup.h

- COM Support code - specifically base classes which provide implementations for the standard COM interfaces **IUnknown** and **IClassFactory** which are used throughout the sample.

- The implementation of **IClassFactory** is designed to create instances of the CMyDriver class. If you should change the name of your base driver class, you would also need to modify this file.

### dllsup.cpp

- DLL Support code - provides the DLL's entry point as well as the single required export (**DllGetClassObject**).

- These depend on comsup.cpp to perform the necessary class creation.

### exports.def
Expand All @@ -49,15 +42,15 @@ For more information, see [Serial Controller and Device Drivers](http://msdn.mic

- This is the main header file for the sample driver.

### driver.cpp & driver.h
### driver.cpp and driver.h

- Definition and implementation of the driver callback class (CMyDriver) for the sample. This includes **DriverEntry** and events on the framework driver object.

### device.cpp & driver.h
### device.cpp and driver.h

- Definition and implementation of the device callback class (CMyDriver) for the sample. This includes events on the framework device object.

### queue.cpp & queue.h
### queue.cpp and queue.h

- Definition and implementation of the base queue callback class (CMyQueue). This includes events on the framework I/O queue object.

Expand All @@ -67,4 +60,4 @@ For more information, see [Serial Controller and Device Drivers](http://msdn.mic

### VirtualSerial.inf / FakeModem.inf

- INF file that contains installation information for this driver.
- INF file that contains installation information for this driver.
25 changes: 9 additions & 16 deletions serial/VirtualSerial2/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,37 +9,30 @@ products:
- windows-wdk
---


<!---
name: Virtual serial driver sample (UMDF version 2)
platform: UMDF2
language: cpp
category: Serial
description: Demonstrates UMDF version 2 serial drivers and includes a simple virtual serial driver (ComPort) and a controller-less modem driver (FakeModem).
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617965
--->

# Virtual serial driver sample

This sample demonstrates these two serial drivers:

- A simple virtual serial driver (ComPort)

- A controller-less modem driver (FakeModem).This driver supports sending and receiving AT commands using the ReadFile and WriteFile calls or via a TAPI interface using an application such as, HyperTerminal.

This sample driver is a minimal driver meant to demonstrate the usage of the User-Mode Driver Framework. It is not intended for use in a production environment.

For more information, see [Serial Controller and Device Drivers](http://msdn.microsoft.com/en-us/library/windows/hardware/ff546939) in the WDK documentation.
For more information, see the [Serial Controller Driver Design Guide](https://docs.microsoft.com/windows-hardware/drivers/serports/).

## Code tour

### comsup.cpp & comsup.h
### comsup.cpp and comsup.h

- COM Support code - specifically base classes which provide implementations for the standard COM interfaces **IUnknown** and **IClassFactory** which are used throughout the sample.

- The implementation of **IClassFactory** is designed to create instances of the CMyDriver class. If you should change the name of your base driver class, you would also need to modify this file.

### dllsup.cpp

- DLL Support code - provides the DLL's entry point as well as the single required export (**DllGetClassObject**).

- These depend on comsup.cpp to perform the necessary class creation.

### exports.def
Expand All @@ -50,15 +43,15 @@ For more information, see [Serial Controller and Device Drivers](http://msdn.mic

- This is the main header file for the sample driver.

### driver.cpp & driver.h
### driver.cpp and driver.h

- Definition and implementation of the driver callback class (CMyDriver) for the sample. This includes **DriverEntry** and events on the framework driver object.

### device.cpp & driver.h
### device.cpp and driver.h

- Definition and implementation of the device callback class (CMyDriver) for the sample. This includes events on the framework device object.

### queue.cpp & queue.h
### queue.cpp and queue.h

- Definition and implementation of the base queue callback class (CMyQueue). This includes events on the framework I/O queue object.

Expand All @@ -68,4 +61,4 @@ For more information, see [Serial Controller and Device Drivers](http://msdn.mic

### VirtualSerial.inf / FakeModem.inf

- INF file that contains installation information for this driver.
- INF file that contains installation information for this driver.
35 changes: 13 additions & 22 deletions serial/serenum/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,16 @@ products:
- windows-wdk
---


<!---
name: Serenum sample
platform: WDM
language: cpp
category: Serial
description: Enumerates Plug-n-Play RS-232 devices that are compliant with the current revision of Plug and Play External COM Device.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617961
--->

# Serenum sample

Serenum enumerates Plug-n-Play RS-232 devices that are compliant with the current revision of Plug and Play External COM Device. It loads as an upper filter driver to many different RS-232 device drivers that are compliant with its requirements and performs this service for them.

Serenum implements the Serenum service; its executable image is serenum.sys.
Serenum implements the Serenum service and its executable image is serenum.sys.

Serenum is an upper-level device filter driver that is used with a serial port function driver to enumerate the following types of devices that are connected to an RS-232 port:

- Plug and Play serial devices that comply with Plug and Play External COM Device Specification, Version 1.00, February 28, 1995.

- Pointer devices that comply with legacy mouse detection in Windows.

The combined operation of Serial and Serenum provides the function of a Plug and Play bus driver for an RS-232 port. Serenum supports Plug and Play and power management.
Expand All @@ -35,14 +26,14 @@ Windows provides Serenum to support Serial and other serial port function driver

## File Manifest

File | Description
-----|------------
Enum.c | Functions that enumerate external serial devices (the main purpose of this driver)
Pnp.c | Plug and Play support code
Power.c | Power support code
Serenum.c | Basic driver functionality
Serenum.h | Local header with defines, prototypes
String.c | String handling support; mainly ASCII to UNICODE functionality
Serenum.rc | Resource script

For more information, see [Features of Serial and Serenum](http://msdn.microsoft.com/en-us/library/windows/hardware/ff546505).
| File | Description |
| --- | --- |
| Enum.c | Functions that enumerate external serial devices (the main purpose of this driver) |
| Pnp.c | Plug and Play support code |
| Power.c | Power support code |
| Serenum.c | Basic driver functionality |
| Serenum.h | Local header with defines, prototypes |
| String.c | String handling support, mainly ASCII to UNICODE functionality |
| Serenum.rc | Resource script |

For more information, see [Features of Serial and Serenum](http://msdn.microsoft.com/en-us/library/windows/hardware/ff546505).
22 changes: 8 additions & 14 deletions serial/serial/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,6 @@ products:
- windows-wdk
---


<!---
name: Serial Port Driver
platform: KMDF
language: cpp
category: Serial
description: The Serial (16550-based RS-232) sample driver is a WDF version of the inbox Serial.sys driver.
samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617962
--->

# Serial Port Driver

The Serial (16550-based RS-232) sample driver is a WDF version of the inbox Serial.sys driver in %WINDIR%\\system32\\drivers.
Expand All @@ -26,23 +16,27 @@ The Serial (16550-based RS-232) sample driver is a WDF version of the inbox Seri

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

## Sample overview

This sample driver is functionally equivalent to the inbox driver, with these two exceptions:

1. This sample does not support multi-function serial devices.
2. This sample does not support legacy serial ports. Legacy ports are not detected by the BIOS, and are, therefore, not enumerated by the operating system.

1. This sample does not support legacy serial ports. Legacy ports are not detected by the BIOS, and are, therefore, not enumerated by the operating system.

The Serial sample driver runs in kernel mode.

This sample driver supports power management. When a serial port is not in use, the driver places the port hardware in a low-power state. When the port is opened, it receives power and wakes up. The driver supports wake-on-ring for platforms that support this function. The driver can be compiled to run on both 32-bit and 64-bit versions of Windows.

For more information, see [Features of Serial and Serenum](http://msdn.microsoft.com/en-us/library/windows/hardware/ff546505).
For more information, see [Features of Serial and Serenum](https://docs.microsoft.com/windows-hardware/drivers/serports/features-of-serial-and-serenum).

This sample can be used for these hardware IDs without any modification to the .inx file included in the project.

- PNP0501

- PNP0500

If you have other hardware such as an add-in card, then you must add the hardware ID in the .inx as shown in this example. Then, you must build the project as per the instructions given in the Building the sample section in this readme.
If you have other hardware such as an add-in card, then you must add the hardware ID in the .inx as shown in this example.

```inf
; For XP and later
Expand All @@ -52,4 +46,4 @@ If you have other hardware such as an add-in card, then you must add the hardwar
%PNP0500.DevDesc%= Serial_Inst, *PNP0500, *PNP0501 ; Communications Port
%PNP0501.DevDesc%= Serial_Inst, *PNP0501, *PNP0500 ; Communications Port
%PNP0501.DevDesc%= Serial_Inst, MF\PCI9710_COM ; Communications Port
```
```
Loading

0 comments on commit d2a0186

Please sign in to comment.