summaryrefslogtreecommitdiff
path: root/serial/VirtualSerial2/README.md
blob: 3c5baf787e249818328e13317db03c7d88197236 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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.

Code tour
---------

#### comsup.cpp & 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
This file lists the functions that the driver DLL exports.

#### internal.h
This is the main header file for the sample driver.

#### driver.cpp & 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
Definition and implementation of the device callback class (CMyDriver) for the sample. This includes events on the framework device object.

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

#### VirtualSerial.rc /FakeModem.rc
This file defines resource information for the sample driver.

#### VirtualSerial.inf / FakeModem.inf
INF file that contains installation information for this driver.