summaryrefslogtreecommitdiff
path: root/serial
diff options
context:
space:
mode:
authorBarry Golden <[email protected]>2019-09-25 19:35:57 -0700
committerGitHub <[email protected]>2019-09-25 19:35:57 -0700
commitd2a01860208bcce9f4777d54bec3c59c4c02e969 (patch)
treebe2892ff05b3308b559e18474f1b1645582cb379 /serial
parent2e237713e298495b141560a5e7c76d6b1efa0153 (diff)
Diffstat (limited to 'serial')
-rw-r--r--serial/VirtualSerial/README.md25
-rw-r--r--serial/VirtualSerial2/README.md25
-rw-r--r--serial/serenum/README.md33
-rw-r--r--serial/serial/README.md22
4 files changed, 38 insertions, 67 deletions
diff --git a/serial/VirtualSerial/README.md b/serial/VirtualSerial/README.md
index 05c1f385..3eeb9764 100644
--- a/serial/VirtualSerial/README.md
+++ b/serial/VirtualSerial/README.md
@@ -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
@@ -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.
@@ -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. \ No newline at end of file
+- INF file that contains installation information for this driver.
diff --git a/serial/VirtualSerial2/README.md b/serial/VirtualSerial2/README.md
index f9312528..2230b108 100644
--- a/serial/VirtualSerial2/README.md
+++ b/serial/VirtualSerial2/README.md
@@ -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
@@ -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.
@@ -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. \ No newline at end of file
+- INF file that contains installation information for this driver.
diff --git a/serial/serenum/README.md b/serial/serenum/README.md
index d793f8d5..d3f712a6 100644
--- a/serial/serenum/README.md
+++ b/serial/serenum/README.md
@@ -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.
@@ -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
+| 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). \ No newline at end of file
+For more information, see [Features of Serial and Serenum](http://msdn.microsoft.com/en-us/library/windows/hardware/ff546505).
diff --git a/serial/serial/README.md b/serial/serial/README.md
index cfd335d7..7578f9ba 100644
--- a/serial/serial/README.md
+++ b/serial/serial/README.md
@@ -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.
@@ -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
@@ -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
-``` \ No newline at end of file
+```