From 97cf5197cf5b882b2c689d8dc2b555f2edf8f418 Mon Sep 17 00:00:00 2001 From: Dave Wilson Date: Tue, 17 Mar 2015 19:50:07 -0700 Subject: Initial publish --- serial/VirtualSerial/FakeModem/exports.def | 6 + serial/VirtualSerial/FakeModem/fakemodem.inx | 202 ++++++++++++++++ serial/VirtualSerial/FakeModem/fakemodem.rc | 17 ++ serial/VirtualSerial/FakeModem/fakemodem.vcxproj | 256 +++++++++++++++++++++ .../FakeModem/fakemodem.vcxproj.Filters | 57 +++++ 5 files changed, 538 insertions(+) create mode 100644 serial/VirtualSerial/FakeModem/exports.def create mode 100644 serial/VirtualSerial/FakeModem/fakemodem.inx create mode 100644 serial/VirtualSerial/FakeModem/fakemodem.rc create mode 100644 serial/VirtualSerial/FakeModem/fakemodem.vcxproj create mode 100644 serial/VirtualSerial/FakeModem/fakemodem.vcxproj.Filters (limited to 'serial/VirtualSerial/FakeModem') diff --git a/serial/VirtualSerial/FakeModem/exports.def b/serial/VirtualSerial/FakeModem/exports.def new file mode 100644 index 00000000..48845d0c --- /dev/null +++ b/serial/VirtualSerial/FakeModem/exports.def @@ -0,0 +1,6 @@ +; exports.def : Declares the module parameters. + +LIBRARY "FakeModem.DLL" + +EXPORTS + DllGetClassObject PRIVATE diff --git a/serial/VirtualSerial/FakeModem/fakemodem.inx b/serial/VirtualSerial/FakeModem/fakemodem.inx new file mode 100644 index 00000000..be83ca64 --- /dev/null +++ b/serial/VirtualSerial/FakeModem/fakemodem.inx @@ -0,0 +1,202 @@ +; +; FakeModem.inf +; "Fakemodem" Controllerless driver illustrative example +; + +[Version] +Signature="$Windows NT$" +Class=Modem +ClassGuid={4D36E96D-E325-11CE-BFC1-08002BE10318} +Provider=%MSFTUMDF% +CatalogFile=WUDF.cat +DriverVer=12/30/2010,0.0.0.1 + +[Manufacturer] +%MSFTUMDF%=Microsoft,NT$ARCH$ + +[Microsoft.NT$ARCH$] +%FakeModemDeviceName%=FakeModem_Install,{b85b7c50-6a01-11d2-b841-00c04fad5171}\fakemodem + +[SourceDisksFiles] +FakeModem.dll=1 +WudfUpdate_$UMDFCOINSTALLERVERSION$.dll=1 + +[SourceDisksNames] +1 = %MediaDescription% + +; =================== UMDF FakeModem Device ================================== + +; The AddReg line below instructs the installer to add the registry +; entries listed in the following sections of this INF file: +; [All], [MfgAddReg], [ExtraCRLFResponses], [ModemX.AddReg], [INTERNAL] + +[FakeModem_Install.NT] +CopyFiles=UMDriverCopy +AddReg = All, MfgAddReg, ExtraCRLFResponses, ModemX.AddReg, INTERNAL + +[FakeModem_Install.NT.hw] +AddReg = LowerFilterAddReg + +[LowerFilterAddReg] +HKR,,"LowerFilters",0x00010000,WUDFRd + +[FakeModem_Install.NT.Services] +AddService=WUDFRd,0x00000000,WUDFRD_ServiceInstall + +[WUDFRD_ServiceInstall] +DisplayName = %WudfRdDisplayName% +ServiceType = 1 +StartType = 3 +ErrorControl = 1 +ServiceBinary = %12%\WUDFRd.sys + +[FakeModem_Install.NT.CoInstallers] +CopyFiles=CoInstallers_CopyFiles +AddReg=CoInstallers_AddReg + +[CoInstallers_CopyFiles] +WudfUpdate_$UMDFCOINSTALLERVERSION$.dll + +[CoInstallers_AddReg] +HKR,,CoInstallers32,0x00010000,"WUDFUpdate_$UMDFCOINSTALLERVERSION$.dll" + +[FakeModem_Install.NT.Wdf] +UmdfService=FakeModem,FakeModem_Install +UmdfServiceOrder=FakeModem +UmdfKernelModeClientPolicy = AllowKernelModeClients +UmdfFsContextUsePolicy = CannotUseFsContexts + +[FakeModem_Install] +UmdfLibraryVersion=$UMDFVERSION$ +ServiceBinary=%12%\UMDF\FakeModem.dll +DriverCLSID={C8ECC087-6B79-4de5-8FB4-C03358A29617} + +[DestinationDirs] +UMDriverCopy=12,UMDF ; copy to drivers\UMDF +CoInstallers_CopyFiles=11 + +[UMDriverCopy] +FakeModem.dll + +;------------------------------------------------------------------------------------------------------- +; DDK procalc tool can be used to check properties settings which describes modem' properties. +; Generally, customization entries are added here which override commands from the All section + +[ModemX.AddReg] +HKR,,Properties, 1, 80,01,00,00, ff,00,00,00, ff,00,00,00, 07,00,00,00, 0f,00,00,00, f7,03,00,00, 00,c2,01,00, 40,38,00,00 +HKR,,InactivityScale, 1, 0a,00,00,00 +HKR, Settings, InactivityTimeout,, "S30=<#>" +HKR, Settings, ErrorControl_On,, "\N3" +HKR, Settings, ErrorControl_Forced,, "\N2" +HKR, Settings, Compression_On,, "%%C3" +HKR, Settings, SpeedNegotiation_Off,, "N0" +HKR, Settings, SpeedNegotiation_On,, "N1" + +;-------------------------------------------------------------------------------------------------------------------------- +;This section will define the type of modem and thus present the appropriate icon in the Device manager + +[INTERNAL] +HKR,, DeviceType, 1, 02 + +;------------------------------------------------------------------------------------------------------------------------- +; Responses section contains all of the appropriate and required responses in order for the O/S to understand the +; Modem responses to system queries. + +[All] +HKR,,ConfigDialog,,modemui.dll +HKR,,EnumPropPages,,"modemui.dll,EnumPropPages" +HKR,,PortSubClass,1,02 +HKR,Init,1,,"AT" +HKR,Init, 2,, "AT &F E0 V1 &D2 &C1 S0=0 W2 S95=47" + +[MfgAddReg] +HKR,, InactivityScale, 1, 01,00,00,00 +HKR, Monitor, 1,, "ATS0=0" +HKR, Monitor, 2,, "None" +HKR, Hangup, 1,, "ATH" +HKR, Answer, 1,, "ATA" +HKR,, Reset,, "ATZ" +HKR, Settings, Prefix,, "AT" +HKR, Settings, Terminator,, "" +HKR, Settings, DialPrefix,, "D" +HKR, Settings, DialSuffix,, ";" +HKR, Settings, SpeakerVolume_Low,, "L1" +HKR, Settings, SpeakerVolume_Med,, "L2" +HKR, Settings, SpeakerVolume_High,, "L3" +HKR, Settings, SpeakerMode_Off,, "M0" +HKR, Settings, SpeakerMode_Dial,, "M1" +HKR, Settings, SpeakerMode_On,, "M2" +HKR, Settings, SpeakerMode_Setup,, "M3" +HKR, Settings, FlowControl_Off,, "&K0" +HKR, Settings, FlowControl_Hard,, "&K3" +HKR, Settings, FlowControl_Soft,, "&K4" +HKR, Settings, ErrorControl_On,, "\N5" +HKR, Settings, ErrorControl_Off,, "\N0" +HKR, Settings, ErrorControl_Forced,, "\N4" +HKR, Settings, Compression_On,, "%%C1" +HKR, Settings, Compression_Off,, "%%C0" +HKR, Settings, Modulation_CCITT,, "B0 " +HKR, Settings, Modulation_Bell,, "B1 " +HKR, Settings, SpeedNegotiation_Off,, "*S0" +HKR, Settings, SpeedNegotiation_On,, "*S1" +HKR, Settings, Pulse,, "P" +HKR, Settings, Tone,, "T" +HKR, Settings, Blind_Off,, "X4" +HKR, Settings, Blind_On,, "X3" +HKR, Settings, CallSetupFailTimer,, "S7=<#>" + +HKR, Responses, "+FCERROR", 1, 03, 00, 00,00,00,00, 00,00,00,00 +HKR, Responses, "BLACKLISTED", 1, 03, 00, 00,00,00,00, 00,00,00,00 +HKR, Responses, "BUSY", 1, 06, 00, 00,00,00,00, 00,00,00,00 + +HKR, Responses, "CONNECT", 1, 02, 00, 00,00,00,00, 00,00,00,00 +HKR, Responses, "DATA", 1, 03, 00, 00,00,00,00, 00,00,00,00 +HKR, Responses, "DELAYED", 1, 03, 00, 00,00,00,00, 00,00,00,00 +HKR, Responses, "ERROR", 1, 03, 00, 00,00,00,00, 00,00,00,00 + +HKR, Responses, "FAX", 1, 03, 00, 00,00,00,00, 00,00,00,00 +HKR, Responses, "NO ANSWER", 1, 07, 00, 00,00,00,00, 00,00,00,00 +HKR, Responses, "NO CARRIER", 1, 04, 00, 00,00,00,00, 00,00,00,00 +HKR, Responses, "NO DIALTONE", 1, 05, 00, 00,00,00,00, 00,00,00,00 +HKR, Responses, "NOTUSED", 1, 00, 00, 00,00,00,00, 00,00,00,00 +HKR, Responses, "OK", 1, 00, 00, 00,00,00,00, 00,00,00,00 +HKR, Responses, "RING", 1, 08, 00, 00,00,00,00, 00,00,00,00 +HKR, Responses, "RINGING", 1, 01, 00, 00,00,00,00, 00,00,00,00 +HKR, Responses, "0", 1, 00, 00, 00,00,00,00, 00,00,00,00 ; OK +HKR, Responses, "1", 1, 02, 00, 00,00,00,00, 00,00,00,00 +HKR, Responses, "10", 1, 02, 00, 60,09,00,00, 00,00,00,00 +HKR, Responses, "11", 1, 02, 00, c0,12,00,00, 00,00,00,00 +HKR, Responses, "12", 1, 02, 00, 80,25,00,00, 00,00,00,00 +HKR, Responses, "13", 1, 02, 00, 20,1c,00,00, 00,00,00,00 +HKR, Responses, "14", 1, 02, 00, e0,2e,00,00, 00,00,00,00 +HKR, Responses, "15", 1, 02, 00, 40,38,00,00, 00,00,00,00 ; connect at 14400 +HKR, Responses, "2", 1, 08, 00, 00,00,00,00, 00,00,00,00 ; RING +HKR, Responses, "3", 1, 04, 00, 00,00,00,00, 00,00,00,00 ; NO CARRIER +HKR, Responses, "4", 1, 03, 00, 00,00,00,00, 00,00,00,00 ; ERROR +HKR, Responses, "5", 1, 02, 00, b0,04,00,00, 00,00,00,00 +HKR, Responses, "6", 1, 05, 00, 00,00,00,00, 00,00,00,00 ; NO DIALTONE +HKR, Responses, "69", 1, 01, 03, 00,00,00,00, 00,00,00,00 +HKR, Responses, "7", 1, 06, 00, 00,00,00,00, 00,00,00,00 ; BUSY +HKR, Responses, "70", 1, 01, 01, 00,00,00,00, 00,00,00,00 ; Protocol:None +HKR, Responses, "77", 1, 01, 02, 00,00,00,00, 00,00,00,00 ; Protocol:LAPM +HKR, Responses, "78", 1, 01, 03, 00,00,00,00, 00,00,00,00 ; Connect V42BIS +HKR, Responses, "8", 1, 07, 00, 00,00,00,00, 00,00,00,00 ; NO ANSWER +HKR, Responses, "80", 1, 01, 02, 00,00,00,00, 00,00,00,00 ; Protocol:ALT +HKR, Responses, "81", 1, 01, 02, 00,00,00,00, 00,00,00,00 + +[ExtraCRLFResponses] +HKR, Responses, "OK", 1, 00, 00, 00,00,00,00, 00,00,00,00 +HKR, Responses, "ERROR", 1, 03, 00, 00,00,00,00, 00,00,00,00 +HKR, Responses, "BUSY", 1, 06, 00, 00,00,00,00, 00,00,00,00 +HKR, Responses, "NO ANSWER", 1, 07, 00, 00,00,00,00, 00,00,00,00 +HKR, Responses, "NO CARRIER", 1, 04, 00, 00,00,00,00, 00,00,00,00 +HKR, Responses, "NO DIALTONE", 1, 05, 00, 00,00,00,00, 00,00,00,00 + + +; =================== Generic ================================== + +[Strings] +MSFTUMDF="Microsoft" +MediaDescription="Microsoft Sample Driver Installation Media" +WudfRdDisplayName="Windows Driver Foundation - User-mode Driver Framework Reflector" +FakeModemDeviceName="Microsoft Fake Modem User-Mode Device Sample" diff --git a/serial/VirtualSerial/FakeModem/fakemodem.rc b/serial/VirtualSerial/FakeModem/fakemodem.rc new file mode 100644 index 00000000..6bb6ed96 --- /dev/null +++ b/serial/VirtualSerial/FakeModem/fakemodem.rc @@ -0,0 +1,17 @@ +//--------------------------------------------------------------------------- +// FakeModem.rc +// +// Copyright (c) Microsoft Corporation, All Rights Reserved +//--------------------------------------------------------------------------- + + +#include +#include + +#define VER_FILETYPE VFT_DLL +#define VER_FILESUBTYPE VFT_UNKNOWN +#define VER_FILEDESCRIPTION_STR "WDF:UMDF Fake Modem User-Mode Driver Sample" +#define VER_INTERNALNAME_STR "FakeModem" +#define VER_ORIGINALFILENAME_STR "FakeModem.dll" + +#include "common.ver" diff --git a/serial/VirtualSerial/FakeModem/fakemodem.vcxproj b/serial/VirtualSerial/FakeModem/fakemodem.vcxproj new file mode 100644 index 00000000..0eb999de --- /dev/null +++ b/serial/VirtualSerial/FakeModem/fakemodem.vcxproj @@ -0,0 +1,256 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + {8C65DE8E-4978-4EC0-8C6B-3C8BEF8FE281} + $(MSBuildProjectName) + 1 + Debug + Win32 + {BDA85DC8-F904-4FBD-B19D-160DD1CF4C3F} + + + + Windows10 + False + Desktop + UMDF + WindowsUserModeDriver10.0 + DynamicLibrary + + + Windows10 + True + Desktop + UMDF + WindowsUserModeDriver10.0 + DynamicLibrary + + + Windows10 + False + Desktop + UMDF + WindowsUserModeDriver10.0 + DynamicLibrary + + + Windows10 + True + Desktop + UMDF + WindowsUserModeDriver10.0 + DynamicLibrary + + + + $(IntDir) + + + + + + + + + + + + + + + + true + true + ..\internal.h + + + $(InfArch) + true + .\$(IntDir)\fakemodem.inf + + + true + true + ..\internal.h + + + + fakemodem + + + fakemodem + + + fakemodem + + + fakemodem + + + + %(PreprocessorDefinitions);_FAKE_MODEM=1;_UNICODE;UNICODE + + + %(PreprocessorDefinitions);_FAKE_MODEM=1;_UNICODE;UNICODE + + + %(PreprocessorDefinitions);_FAKE_MODEM=1;_UNICODE;UNICODE + + + + + %(PreprocessorDefinitions);_FAKE_MODEM=1;_UNICODE;UNICODE + + + %(PreprocessorDefinitions);_FAKE_MODEM=1;_UNICODE;UNICODE + + + %(PreprocessorDefinitions);_FAKE_MODEM=1;_UNICODE;UNICODE + + + + + %(PreprocessorDefinitions);_FAKE_MODEM=1;_UNICODE;UNICODE + + + %(PreprocessorDefinitions);_FAKE_MODEM=1;_UNICODE;UNICODE + + + %(PreprocessorDefinitions);_FAKE_MODEM=1;_UNICODE;UNICODE + + + + + %(PreprocessorDefinitions);_FAKE_MODEM=1;_UNICODE;UNICODE + + + %(PreprocessorDefinitions);_FAKE_MODEM=1;_UNICODE;UNICODE + + + %(PreprocessorDefinitions);_FAKE_MODEM=1;_UNICODE;UNICODE + + + + 0x0A00 + 0x0A000000 + + + 0x0A00 + 0x0A000000 + + + 0x0A00 + 0x0A000000 + + + 0x0A00 + 0x0A000000 + + + + _DllMainCRTStartup@12 + _DllMainCRTStartup + + + + + _DllMainCRTStartup@12 + _DllMainCRTStartup + + + + + _DllMainCRTStartup@12 + _DllMainCRTStartup + + + + + _DllMainCRTStartup@12 + _DllMainCRTStartup + + + + + true + Level4 + + + + + %(AdditionalDependencies);$(SDK_LIB_PATH)\strsafe.lib;$(SDK_LIB_PATH)\ntdll.lib;$(SDK_LIB_PATH)\kernel32.lib;$(SDK_LIB_PATH)\advapi32.lib;$(SDK_LIB_PATH)\Ole32.lib;$(SDK_LIB_PATH)\setupapi.lib + exports.def + + + + + true + Level4 + + + + + %(AdditionalDependencies);$(SDK_LIB_PATH)\strsafe.lib;$(SDK_LIB_PATH)\ntdll.lib;$(SDK_LIB_PATH)\kernel32.lib;$(SDK_LIB_PATH)\advapi32.lib;$(SDK_LIB_PATH)\Ole32.lib;$(SDK_LIB_PATH)\setupapi.lib + exports.def + + + + + true + Level4 + + + + + %(AdditionalDependencies);$(SDK_LIB_PATH)\strsafe.lib;$(SDK_LIB_PATH)\ntdll.lib;$(SDK_LIB_PATH)\kernel32.lib;$(SDK_LIB_PATH)\advapi32.lib;$(SDK_LIB_PATH)\Ole32.lib;$(SDK_LIB_PATH)\setupapi.lib + exports.def + + + + + true + Level4 + + + + + %(AdditionalDependencies);$(SDK_LIB_PATH)\strsafe.lib;$(SDK_LIB_PATH)\ntdll.lib;$(SDK_LIB_PATH)\kernel32.lib;$(SDK_LIB_PATH)\advapi32.lib;$(SDK_LIB_PATH)\Ole32.lib;$(SDK_LIB_PATH)\setupapi.lib + exports.def + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/serial/VirtualSerial/FakeModem/fakemodem.vcxproj.Filters b/serial/VirtualSerial/FakeModem/fakemodem.vcxproj.Filters new file mode 100644 index 00000000..1471427c --- /dev/null +++ b/serial/VirtualSerial/FakeModem/fakemodem.vcxproj.Filters @@ -0,0 +1,57 @@ + + + + + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;* + {171E6CE6-A3BC-4E0C-A70B-3D3A14E3013E} + + + h;hpp;hxx;hm;inl;inc;xsd + {7D188E14-FC54-4649-BF86-227A339DF62D} + + + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml + {376804A3-5F06-4C4D-8E78-89D50B462EA5} + + + inf;inv;inx;mof;mc; + {CD2DEFBB-4830-410C-8909-649347BC8898} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Driver Files + + + Driver Files + + + + + Resource Files + + + \ No newline at end of file -- cgit v1.3.1