├── PathruInVc
├── PathruInVc.dsp
├── PathruInVc.dsw
├── PathruInVc.ncb
├── PathruInVc.opt
├── PathruInVc.plg
├── Pathru流程图.doc
├── build.bat
├── driver
│ ├── buildchk.log
│ ├── makefile
│ ├── miniport.c
│ ├── netsf.inf
│ ├── netsf_m.inf
│ ├── obj
│ │ └── _objects.mac
│ ├── objchk
│ │ └── i386
│ │ │ ├── miniport.obj
│ │ │ ├── passthru.map
│ │ │ ├── passthru.obj
│ │ │ ├── passthru.pdb
│ │ │ ├── passthru.res
│ │ │ ├── passthru.sym
│ │ │ ├── passthru.sys
│ │ │ ├── precomp.obj
│ │ │ ├── precomp.pch
│ │ │ └── protocol.obj
│ ├── passthru.aps
│ ├── passthru.c
│ ├── passthru.dll
│ ├── passthru.h
│ ├── passthru.rc
│ ├── passthru.sys
│ ├── precomp.h
│ ├── protocol.c
│ └── sources
├── packet_1.txt
├── packet_2.txt
├── ~VC11D.tmp
└── 说明.txt
├── TcpStack
├── Debug
│ ├── Ftp.obj
│ ├── Ftp.sbr
│ ├── Mac.obj
│ ├── Mac.sbr
│ ├── StdAfx.obj
│ ├── StdAfx.sbr
│ ├── Tcp.obj
│ ├── Tcp.sbr
│ ├── TcpStack.exe
│ ├── TcpStack.ilk
│ ├── TcpStack.obj
│ ├── TcpStack.pch
│ ├── TcpStack.pdb
│ ├── TcpStack.res
│ ├── TcpStack.sbr
│ ├── TcpStackDlg.obj
│ ├── TcpStackDlg.sbr
│ ├── commen.obj
│ ├── commen.sbr
│ ├── mmTimers.obj
│ ├── mmTimers.sbr
│ ├── packet.obj
│ ├── packet.sbr
│ ├── vc60.idb
│ └── vc60.pdb
├── Ftp.cpp
├── Ftp.h
├── Mac.cpp
├── Mac.h
├── ReadMe.txt
├── SETUPAPI.LIB
├── StdAfx.cpp
├── StdAfx.h
├── Tcp.cpp
├── Tcp.h
├── TcpStack.aps
├── TcpStack.clw
├── TcpStack.cpp
├── TcpStack.dsp
├── TcpStack.dsw
├── TcpStack.h
├── TcpStack.ncb
├── TcpStack.opt
├── TcpStack.plg
├── TcpStack.rc
├── TcpStackDlg.cpp
├── TcpStackDlg.h
├── VERSION.LIB
├── WINMM.LIB
├── commen.cpp
├── commen.h
├── mmTimers.cpp
├── mmTimers.h
├── netcfgn.h
├── netcfgx.h
├── packet.cpp
├── packet.h
├── res
│ ├── TcpStack.ico
│ ├── TcpStack.rc2
│ ├── TcpStack1.ico
│ └── Thumbs.db
├── resource.h
└── uuid.lib
├── WssLockKey.rar
├── doc
├── 865.html
└── 865_files
│ ├── Thumbs.db
│ ├── document_icon.gif
│ ├── folder_icon.gif
│ ├── logo.gif
│ ├── plone.css
│ └── title.gif
├── packet
├── packet.txt
├── packetrecord.txt
└── packetrecord1.txt
└── process
├── Dbgview.exe
├── TcpStack.exe
├── netsf.inf
├── netsf_m.inf
├── passthru.dll
└── passthru.sys
/PathruInVc/PathruInVc.dsp:
--------------------------------------------------------------------------------
1 | # Microsoft Developer Studio Project File - Name="PathruInVc" - Package Owner=<4>
2 | # Microsoft Developer Studio Generated Build File, Format Version 6.00
3 | # ** DO NOT EDIT **
4 |
5 | # TARGTYPE "Win32 (x86) External Target" 0x0106
6 |
7 | CFG=PathruInVc - Win32 Debug
8 | !MESSAGE This is not a valid makefile. To build this project using NMAKE,
9 | !MESSAGE use the Export Makefile command and run
10 | !MESSAGE
11 | !MESSAGE NMAKE /f "PathruInVc.mak".
12 | !MESSAGE
13 | !MESSAGE You can specify a configuration when running NMAKE
14 | !MESSAGE by defining the macro CFG on the command line. For example:
15 | !MESSAGE
16 | !MESSAGE NMAKE /f "PathruInVc.mak" CFG="PathruInVc - Win32 Debug"
17 | !MESSAGE
18 | !MESSAGE Possible choices for configuration are:
19 | !MESSAGE
20 | !MESSAGE "PathruInVc - Win32 Release" (based on "Win32 (x86) External Target")
21 | !MESSAGE "PathruInVc - Win32 Debug" (based on "Win32 (x86) External Target")
22 | !MESSAGE
23 |
24 | # Begin Project
25 | # PROP AllowPerConfigDependencies 0
26 | # PROP Scc_ProjName ""
27 | # PROP Scc_LocalPath ""
28 |
29 | !IF "$(CFG)" == "PathruInVc - Win32 Release"
30 |
31 | # PROP BASE Use_MFC 0
32 | # PROP BASE Use_Debug_Libraries 0
33 | # PROP BASE Output_Dir "Release"
34 | # PROP BASE Intermediate_Dir "Release"
35 | # PROP BASE Cmd_Line "NMAKE /f PathruInVc.mak"
36 | # PROP BASE Rebuild_Opt "/a"
37 | # PROP BASE Target_File "PathruInVc.exe"
38 | # PROP BASE Bsc_Name "PathruInVc.bsc"
39 | # PROP BASE Target_Dir ""
40 | # PROP Use_MFC 0
41 | # PROP Use_Debug_Libraries 0
42 | # PROP Output_Dir "Release"
43 | # PROP Intermediate_Dir "Release"
44 | # PROP Cmd_Line "build.bat D:\WINDDK\2600 free e: E:\NDIS\PathruInVc\driver"
45 | # PROP Rebuild_Opt "/a"
46 | # PROP Target_File "PathruInVc.exe"
47 | # PROP Bsc_Name "PathruInVc.bsc"
48 | # PROP Target_Dir ""
49 |
50 | !ELSEIF "$(CFG)" == "PathruInVc - Win32 Debug"
51 |
52 | # PROP BASE Use_MFC 0
53 | # PROP BASE Use_Debug_Libraries 1
54 | # PROP BASE Output_Dir "Debug"
55 | # PROP BASE Intermediate_Dir "Debug"
56 | # PROP BASE Cmd_Line "NMAKE /f PathruInVc.mak"
57 | # PROP BASE Rebuild_Opt "/a"
58 | # PROP BASE Target_File "PathruInVc.exe"
59 | # PROP BASE Bsc_Name "PathruInVc.bsc"
60 | # PROP BASE Target_Dir ""
61 | # PROP Use_MFC 0
62 | # PROP Use_Debug_Libraries 1
63 | # PROP Output_Dir "Debug"
64 | # PROP Intermediate_Dir "Debug"
65 | # PROP Cmd_Line "build.bat D:\WINDDK\2600 checked e: E:\NDIS\PathruInVc\driver"
66 | # PROP Rebuild_Opt "/a"
67 | # PROP Target_File "PathruInVc.exe"
68 | # PROP Bsc_Name ""
69 | # PROP Target_Dir ""
70 |
71 | !ENDIF
72 |
73 | # Begin Target
74 |
75 | # Name "PathruInVc - Win32 Release"
76 | # Name "PathruInVc - Win32 Debug"
77 |
78 | !IF "$(CFG)" == "PathruInVc - Win32 Release"
79 |
80 | !ELSEIF "$(CFG)" == "PathruInVc - Win32 Debug"
81 |
82 | !ENDIF
83 |
84 | # Begin Group "Source Files"
85 |
86 | # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
87 | # Begin Source File
88 |
89 | SOURCE=.\driver\miniport.c
90 | # End Source File
91 | # Begin Source File
92 |
93 | SOURCE=.\driver\passthru.c
94 | # End Source File
95 | # Begin Source File
96 |
97 | SOURCE=.\driver\passthru.rc
98 | # End Source File
99 | # Begin Source File
100 |
101 | SOURCE=.\driver\protocol.c
102 | # End Source File
103 | # End Group
104 | # Begin Group "Header Files"
105 |
106 | # PROP Default_Filter "h;hpp;hxx;hm;inl"
107 | # Begin Source File
108 |
109 | SOURCE=.\driver\passthru.h
110 | # End Source File
111 | # Begin Source File
112 |
113 | SOURCE=.\driver\precomp.h
114 | # End Source File
115 | # End Group
116 | # Begin Group "Resource Files"
117 |
118 | # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
119 | # End Group
120 | # End Target
121 | # End Project
122 |
--------------------------------------------------------------------------------
/PathruInVc/PathruInVc.dsw:
--------------------------------------------------------------------------------
1 | Microsoft Developer Studio Workspace File, Format Version 6.00
2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
3 |
4 | ###############################################################################
5 |
6 | Project: "PathruInVc"=.\PathruInVc.dsp - Package Owner=<4>
7 |
8 | Package=<5>
9 | {{{
10 | }}}
11 |
12 | Package=<4>
13 | {{{
14 | }}}
15 |
16 | ###############################################################################
17 |
18 | Global:
19 |
20 | Package=<5>
21 | {{{
22 | }}}
23 |
24 | Package=<3>
25 | {{{
26 | }}}
27 |
28 | ###############################################################################
29 |
30 |
--------------------------------------------------------------------------------
/PathruInVc/PathruInVc.ncb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/PathruInVc.ncb
--------------------------------------------------------------------------------
/PathruInVc/PathruInVc.opt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/PathruInVc.opt
--------------------------------------------------------------------------------
/PathruInVc/PathruInVc.plg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Build Log
5 |
6 | --------------------Configuration: PathruInVc - Win32 Debug--------------------
7 |
8 |
9 |
10 | E:\NDIS\PathruInVc>if "D:\WINDDK\2600" == "" goto InvalidParameter
11 |
12 | E:\NDIS\PathruInVc>if not exist D:\WINDDK\2600\bin\setenv.bat goto SetenvNotFound
13 |
14 | E:\NDIS\PathruInVc>call D:\WINDDK\2600\bin\setenv.bat D:\WINDDK\2600 checked
15 | BUILD: Object root set to: ==> objchk
16 | BUILD: Adding /Y to COPYCMD so xcopy ops won't hang.
17 | BUILD: /i switch ignored
18 | BUILD: Compile and Link for i386
19 | BUILD: Loading D:\WINDDK\2600\build.dat...
20 | BUILD: Computing Include file dependencies:
21 | BUILD: Examining e:\ndis\pathruinvc\driver directory for files to compile.
22 | e:\ndis\pathruinvc\driver
23 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\wxp\windows.h: cannot find include file
24 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\wxp\windows.h: cannot find include file
25 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\wxp\windows.h: cannot find include file
26 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\wxp\windows.h: cannot find include file
27 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\crt\winbase.h: cannot find include file
28 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\crt\wingdi.h: cannot find include file
29 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\crt\winuser.h: cannot find include file
30 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\crt\winnls.h: cannot find include file
31 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\wxp\winreg.h: cannot find include file
32 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\crt\mmsystem.h: cannot find include file
33 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\crt\winscard.h: cannot find include file "scarderr.h"
34 | e:\ndis\pathruinvc\driver - 1 source files (1,457 lines)
35 | BUILD: Saving D:\WINDDK\2600\build.dat...
36 | BUILD: Compiling e:\ndis\pathruinvc\driver directory
37 | Compiling - miniport.c for i386
38 | BUILD: Linking e:\ndis\pathruinvc\driver directory
39 | Linking Executable - objchk\i386\passthru.sys for i386
40 | BUILD: Done
41 |
42 | 2 files compiled - 728 LPS
43 | 1 executable built
44 |
45 |
46 |
47 | Results
48 | PathruInVc.exe - 0 error(s), 0 warning(s)
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/PathruInVc/Pathru流程图.doc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/Pathru流程图.doc
--------------------------------------------------------------------------------
/PathruInVc/build.bat:
--------------------------------------------------------------------------------
1 | if "%1" == "" goto InvalidParameter
2 |
3 | if not exist %1\bin\setenv.bat goto SetenvNotFound
4 |
5 | call %1\bin\setenv.bat %1 %2
6 | %3
7 | cd %4
8 | build
9 | goto exit
10 |
11 | :InvalidParameter
12 | echo Invalid Parameter.
13 | goto exit
14 |
15 | :SetenvNotFound
16 | echo Can't found Setenv.bat.
17 | goto exit
18 |
19 | :exit
--------------------------------------------------------------------------------
/PathruInVc/driver/buildchk.log:
--------------------------------------------------------------------------------
1 | BUILD: Computing Include file dependencies:
2 | BUILD: Examining e:\ndis\pathruinvc\driver directory for files to compile.
3 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\wxp\windows.h: cannot find include file
4 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\wxp\windows.h: cannot find include file
5 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\wxp\windows.h: cannot find include file
6 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\wxp\windows.h: cannot find include file
7 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\crt\winbase.h: cannot find include file
8 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\crt\wingdi.h: cannot find include file
9 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\crt\winuser.h: cannot find include file
10 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\crt\winnls.h: cannot find include file
11 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\wxp\winreg.h: cannot find include file
12 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\crt\mmsystem.h: cannot find include file
13 | BUILD: e:\ndis\pathruinvc\driver\passthru.rc: d:\winddk\2600\inc\crt\winscard.h: cannot find include file "scarderr.h"
14 | Compiling e:\ndis\pathruinvc\driver directory ********************
15 | 'nmake.exe /c BUILDMSG=Stop. -i NTTEST= UMTEST= NOLINK=1 NOPASS0=1 386=1'
16 | cl -nologo -Ii386\ -I. -Iobjchk\i386 -ID:\WINDDK\2600\inc\wxp -ID:\WINDDK\2600\inc\wxp -ID:\WINDDK\2600\inc\ddk\wxp -ID:\WINDDK\2600\inc\ddk\wdm\wxp -ID:\WINDDK\2600\inc\crt -D_X86_=1 -Di386=1 -DSTD_CALL -DCONDITION_HANDLING=1 -DNT_INST=0 -DWIN32=100 -D_NT1X_=100 -DWINNT=1 -D_WIN32_WINNT=0x0501 /DWINVER=0x0501 -D_WIN32_IE=0x0600 -DWIN32_LEAN_AND_MEAN=1 -DDBG=1 -DDEVL=1 -D__BUILDMACHINE__=WinDDK -DFPO=0 -DNDEBUG -D_DLL=1 -DNDIS_MINIPORT_DRIVER -DNDIS_WDM=1 -DNDIS51_MINIPORT=1 -DNDIS51=1 /c /Zel /Zp8 /Gy -cbstring /W3 /WX /Gz /QIfdiv- /QIf /G6 /Gi- /Gm- /GX- /GR- /GF -Z7 /Od /Oi /Oy- -FID:\WINDDK\2600\inc\wxp\warning.h /Yuprecomp.h /Fpobjchk\i386\precomp.pch .\miniport.c
17 | miniport.c
18 |
19 | Stop.
20 | Linking e:\ndis\pathruinvc\driver directory ********************
21 | 'nmake.exe /c BUILDMSG=Stop. -i LINKONLY=1 NOPASS0=1 NTTEST= UMTEST= 386=1'
22 | link -out:objchk\i386\passthru.sys -machine:ix86 @C:\DOCUME~1\BLUEWA~1\LOCALS~1\Temp\nma02508.
23 | Microsoft (R) Incremental Linker Version 7.00.9210
24 | Copyright (C) Microsoft Corporation. All rights reserved.
25 |
26 | -MERGE:_PAGE=PAGE
27 | -MERGE:_TEXT=.text
28 | -SECTION:INIT,d
29 | -OPT:REF
30 | -OPT:ICF
31 | -IGNORE:4010,4037,4039,4065,4070,4078,4087,4089,4198,4221
32 | -INCREMENTAL:NO
33 | -FULLBUILD
34 | /release
35 | -NODEFAULTLIB
36 | /WX
37 | -debug:FULL
38 | -debugtype:cv
39 | -version:5.1
40 | -osversion:5.1
41 | /opt:nowin98
42 | -STACK:0x40000,0x1000
43 | -map
44 | -driver
45 | -base:0x10000
46 | -align:0x80
47 | -subsystem:native,5.1
48 | -entry:DriverEntry@8
49 | -out:objchk\i386\passthru.sys
50 | objchk\i386\precomp.obj
51 | objchk\i386\passthru.res
52 | objchk\i386\miniport.obj
53 | objchk\i386\passthru.obj
54 | objchk\i386\protocol.obj
55 | D:\WINDDK\2600\lib\wxp\i386\ntoskrnl.lib
56 | D:\WINDDK\2600\lib\wxp\i386\hal.lib
57 | D:\WINDDK\2600\lib\wxp\i386\wmilib.lib
58 | D:\WINDDK\2600\lib\wxp\i386\ndis.lib
59 | mapsym -o objchk\i386\passthru.sym objchk\i386\passthru.map
60 | Microsoft (R) Symbol File Generator NTGroup Version 6.02
61 | Copyright (C) Microsoft Corp 1984 - 1996. All rights reserved.
62 | Line number support enabled
63 | Program entry point at 0004:0012
64 | Skip Binplace:
65 |
66 | Stop.
67 |
--------------------------------------------------------------------------------
/PathruInVc/driver/makefile:
--------------------------------------------------------------------------------
1 | #
2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source
3 | # file to this component. This file merely indirects to the real make file
4 | # that is shared by all the components of NT
5 | #
6 | !INCLUDE $(NTMAKEENV)\makefile.def
7 |
8 |
--------------------------------------------------------------------------------
/PathruInVc/driver/miniport.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/driver/miniport.c
--------------------------------------------------------------------------------
/PathruInVc/driver/netsf.inf:
--------------------------------------------------------------------------------
1 | ; -- NETSF.INF --
2 | ;
3 | ; Passthru driver INF file - this is the INF for the service (protocol)
4 | ; part.
5 | ;
6 | ; Copyright (c) 1993-2001, Microsoft Corporation
7 | ;
8 | ; ----------------------------------------------------------------------
9 | ; Notes:
10 | ; 0. The term "filter" is used in this INF to refer to an NDIS IM driver that
11 | ; implements a 1:1 relationship between upper and lower bindings.
12 | ;
13 | ; 1. Items specifically required for a filter have been marked with
14 | ; "!!--Filter Specific--!!" keyword
15 | ; 2. In general a filter DOES NOT require a notify object for proper installation.
16 | ; A notify object is only required if one wants to have better control
17 | ; over binding operations or if one wants to receive notifications
18 | ; when other components get installed/removed/bound/unbound.
19 | ; Since Windows 2000 systems do not have support for CopyINF directive,
20 | ; a notify object is required to programmatically copy the miniport INF
21 | ; file to the system INF directory. Previous versions of this INF file
22 | ; erroneously used to copy the INF files directly by using the CopyFiles
23 | ; directive.
24 | ; On Windows XP, you can install a filter IM without a notify object.
25 | ; by following the instructions in (4).
26 | ;
27 | ; 3. If you want to use this INF file with your own IM driver, please
28 | ; make the following modifications:
29 | ; File netsf.inf
30 | ; --------------
31 | ; a. In section [SourceDiskFiles] and [Passthru.Files.Sys]
32 | ; change passthru.sys to the name of your own driver binary.
33 | ; b. In section [Passthru.ndi.AddReg], change values of
34 | ; BindForm and MiniportId to appropriate values.
35 | ; File netsf_m.inf
36 | ; ----------------
37 | ; a. Replace MS_PassthruMP with InfId of your miniport.
38 | ; b. In section [PassthruMP.AddService],
39 | ; change ServiceBinary appropriately.
40 | ; c. In section [PassthruMP.ndi.AddReg],
41 | ; change "Passthru" in the line having "Service"
42 | ; to reflect the appropriate name
43 | ;
44 | ; 4. If you want to use this INF for installing the passthru IM without
45 | ; the notify object, do the following:
46 | ; a. In section [Passthru.ndi.AddReg],
47 | ; Comment out lines having ClsId and ComponentDll
48 | ; b. In section [Passthru.ndi],
49 | ; change the value of Characteristics so that it does not have
50 | ; the NCF_HAS_UI flag
51 | ; c. In section [SourceDiskFiles], comment out the line having passthru.dll
52 | ; d. In section [Passthru.ndi], remove Passthru.Files.Init from the
53 | ; CopyFiles line.
54 | ;
55 | ; ----------------------------------------------------------------------
56 |
57 | [Version]
58 | Signature = "$Windows NT$"
59 | Class = NetService
60 | ClassGUID = {4D36E974-E325-11CE-BFC1-08002BE10318}
61 | Provider = %Msft%
62 | DriverVer = 06/24/1999,5.00.2071.1
63 |
64 |
65 | [Manufacturer]
66 | %Msft% = MSFT
67 |
68 | [ControlFlags]
69 |
70 | ;=========================================================================
71 | ;
72 | ;=========================================================================
73 |
74 | [MSFT]
75 | %Passthru_Desc% = Passthru.ndi, ms_passthru
76 |
77 |
78 |
79 | [Passthru.ndi]
80 | AddReg = Passthru.ndi.AddReg, Passthru.AddReg
81 | Characteristics = 0x4490 ; NCF_HAS_UI | NCF_FILTER | NCF_NO_SERVICE | NCF_NDIS_PROTOCOL !--Filter Specific--!!
82 | CopyFiles = Passthru.Files.Init, Passthru.Files.Sys
83 | CopyInf = netsf_m.inf
84 |
85 | [Passthru.ndi.Remove]
86 | DelFiles = Passthru.Files.Init, Passthru.Files.Sys
87 |
88 | [Passthru.ndi.Remove.Services]
89 | DelService = Passthru
90 |
91 | ; ----------------------------------------------------------------------
92 | ; File copy
93 | ;
94 | [SourceDisksNames]
95 | 1=%DiskDescription%,"",,
96 |
97 | [SourceDisksFiles]
98 | passthru.dll=1
99 | passthru.sys=1
100 | netsf_m.inf=1
101 |
102 | [DestinationDirs]
103 | DefaultDestDir = 12
104 | Passthru.Files.Init = 11 ; %windir%\System32
105 | Passthru.Files.Sys = 12 ; %windir%\System32\drivers
106 |
107 | ; Copying of passthru.dll is required only if the filter has a Notify object
108 | [Passthru.Files.Init]
109 | passthru.dll,,,2
110 |
111 | [Passthru.Files.Sys]
112 | passthru.sys,,,2
113 |
114 | [InfSourcePathInfo]
115 | ; Used by the notify object to figure out where the original media is
116 | ; located (so it can use SetupCopyOEMInf to install Net INF located
117 | ; there).
118 |
119 | OriginalInfSourcePath = %1%
120 |
121 | ; ----------------------------------------------------------------------
122 | ; Filter Install
123 | ;
124 |
125 | [Passthru.ndi.AddReg]
126 | HKR, Ndi, HelpText, , %Passthru_HELP%
127 |
128 | ; ----------------------------------------------------------------------
129 | ; Keys required if a Notify object is present
130 | ; These keys should be omitted if the Filter does not have any Notify object
131 | ;
132 | ; Note:
133 | ; 1. Only include the following lines if your filter has configuration UI
134 | ; that needs to be displayed. Otherwise, you should not need a notify
135 | ; object.
136 | ; 2. If you write your own notifyobject, use a different GUID for ClsID!!
137 | ; (Generate this with uuidgen.exe)
138 | ;
139 | HKR, Ndi, ClsID, , {df2e4f67-e93a-11d1-bb14-0000f8779051}
140 | HKR, Ndi, ComponentDll, , passthru.dll
141 |
142 | ; ----------------------------------------------------------------------
143 | ; !!--Filter Specific--!!
144 | ;
145 | ; Note:
146 | ; 1. Other components may also have UpperRange/LowerRange but for filters
147 | ; the value of both of them must be noupper/nolower
148 | ; 2. The value FilterClass is required.
149 | ; 3. The value Service is required
150 | ; 4. FilterDeviceInfId is the InfId of the filter device (miniport) that will
151 | ; be installed for each filtered adapter.
152 | ; In this case this is ms_passthrump (refer to netsf_m.inf)
153 | ;
154 | HKR, Ndi, FilterClass, , failover
155 | HKR, Ndi, FilterDeviceInfId, , ms_passthrump
156 | HKR, Ndi, Service, , Passthru
157 | HKR, Ndi\Interfaces, UpperRange, , noupper
158 | HKR, Ndi\Interfaces, LowerRange, , nolower
159 | HKR, Ndi\Interfaces, FilterMediaTypes, , "ethernet, tokenring, fddi, wan"
160 |
161 | [Passthru.AddReg]
162 | ; The following key is Required
163 | ; The following key is Passthru specific
164 | HKR, Parameters, Param1, 0, 4
165 |
166 | ; ----------------------------------------------------------------------
167 | [Strings]
168 | Msft = "Microsoft"
169 | DiskDescription = "Microsoft Passthru Driver Disk"
170 |
171 | Passthru_Desc = "Passthru Driver"
172 | Passthru_HELP = "Passthru Driver"
173 |
174 |
175 |
--------------------------------------------------------------------------------
/PathruInVc/driver/netsf_m.inf:
--------------------------------------------------------------------------------
1 | ; -- NETSF_M.INF --
2 | ;
3 | ; Passsthru Miniport INF file
4 | ;
5 | ; Copyright (c) 1993-1999, Microsoft Corporation
6 |
7 | ; ----------------------------------------------------------------------
8 | ; Notes:
9 | ; 0. The term "filter" is used here to refer to an NDIS IM driver that
10 | ; implements a 1:1 relationship between upper and lower bindings.
11 | ; 1. Items specifically required for a filter have been marked with
12 | ; "!!--Filter Specific--!!" keyword
13 | ; 2. A filter DOES NOT require a notify object for proper installation.
14 | ; A notify object is only required if one wants to have better control
15 | ; over binding operations or if one wants to receive notifications
16 | ; when other components get installed/removed/bound/unbound.
17 | ; This sample uses a notify object as an example only. If you do not
18 | ; want to use a notify object, please comment out the lines that add
19 | ; ClsId and ComponentDll registry keys.
20 | ; ----------------------------------------------------------------------
21 |
22 | [Version]
23 | signature = "$Windows NT$"
24 | Class = Net
25 | ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
26 | Provider = %Msft%
27 | DriverVer = 06/24/1999,5.00.2071.1
28 |
29 | [ControlFlags]
30 | ExcludeFromSelect = ms_passthrump
31 |
32 | [DestinationDirs]
33 | DefaultDestDir=12
34 | ; No files to copy
35 |
36 | [Manufacturer]
37 | %Msft% = MSFT
38 |
39 | [MSFT]
40 | %PassthruMP_Desc% = PassthruMP.ndi, ms_passthrump
41 |
42 | [PassthruMP.ndi]
43 | Characteristics = 0x29 ;NCF_NOT_USER_REMOVABLE | NCF_VIRTUAL | NCF_HIDDEN
44 | CopyFiles =
45 |
46 | [PassthruMP.ndi.Services]
47 | AddService = Passthru,0x2, PassthruMP.AddService
48 |
49 |
50 | [PassthruMP.AddService]
51 | DisplayName = %PassthruMP_Desc%
52 | ServiceType = 1 ;SERVICE_KERNEL_DRIVER
53 | StartType = 3 ;SERVICE_DEMAND_START
54 | ErrorControl = 1 ;SERVICE_ERROR_NORMAL
55 | ServiceBinary = %12%\passthru.sys
56 | LoadOrderGroup = PNP_TDI
57 | AddReg = PassthruMP.AddService.AddReg
58 |
59 |
60 | [PassthruMP.AddService.AddReg]
61 | ; ----------------------------------------------------------------------
62 | ; Add any miniport-specific parameters here. These are params that your
63 | ; filter device is going to use.
64 | ;
65 | ;HKR, Parameters, ParameterName, 0x10000, "MultiSz", "Parameter", "Value"
66 | ;HKR, Parameters, ParameterName2, 0x10001, 4
67 |
68 | [Strings]
69 | Msft = "Microsoft"
70 | PassthruMP_Desc = "Passthru Miniport"
71 |
72 | [SourceDisksNames]
73 | ;None
74 |
75 | [SourceDisksFiles]
76 | ;None
77 |
78 |
79 |
--------------------------------------------------------------------------------
/PathruInVc/driver/obj/_objects.mac:
--------------------------------------------------------------------------------
1 | 386_OBJECTS= \
2 | $(_OBJ_DIR)\i386\passthru.res \
3 | $(_OBJ_DIR)\i386\miniport.obj \
4 | $(_OBJ_DIR)\i386\passthru.obj \
5 | $(_OBJ_DIR)\i386\protocol.obj
6 |
7 | PASS0_386_OBJECTS=
8 |
9 | IA64_OBJECTS= \
10 | $(_OBJ_DIR)\ia64\passthru.res \
11 | $(_OBJ_DIR)\ia64\miniport.obj \
12 | $(_OBJ_DIR)\ia64\passthru.obj \
13 | $(_OBJ_DIR)\ia64\protocol.obj
14 |
15 | PASS0_IA64_OBJECTS=
16 |
17 | AMD64_OBJECTS= \
18 | $(_OBJ_DIR)\amd64\passthru.res \
19 | $(_OBJ_DIR)\amd64\miniport.obj \
20 | $(_OBJ_DIR)\amd64\passthru.obj \
21 | $(_OBJ_DIR)\amd64\protocol.obj
22 |
23 | PASS0_AMD64_OBJECTS=
24 |
25 |
--------------------------------------------------------------------------------
/PathruInVc/driver/objchk/i386/miniport.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/driver/objchk/i386/miniport.obj
--------------------------------------------------------------------------------
/PathruInVc/driver/objchk/i386/passthru.map:
--------------------------------------------------------------------------------
1 | passthru
2 |
3 | Timestamp is 4322354e (Sat Sep 10 09:22:22 2005)
4 |
5 | Preferred load address is 00010000
6 |
7 | Start Length Name Class
8 | 0001:00000000 00003d9cH .text CODE
9 | 0002:00000000 00000124H .idata$5 DATA
10 | 0002:00000130 0000001cH .rdata DATA
11 | 0002:0000014c 0000004bH .rdata$debug DATA
12 | 0003:00000000 00000010H .data DATA
13 | 0003:00000010 00000088H .bss DATA
14 | 0004:00000000 000002f6H INIT CODE
15 | 0004:000002f8 00000028H .idata$2 CODE
16 | 0004:00000320 00000014H .idata$3 CODE
17 | 0004:00000334 00000124H .idata$4 CODE
18 | 0004:00000458 000006c0H .idata$6 CODE
19 | 0005:00000000 00000058H .rsrc$01 DATA
20 | 0005:00000060 00000350H .rsrc$02 DATA
21 |
22 | Address Publics by Value Rva+Base Lib:Object
23 |
24 | 0001:000000b6 _MPInitialize@24 000103b6 f miniport.obj
25 | 0001:0000027f _MPSendPackets@12 0001057f f miniport.obj
26 | 0001:000004d0 _MPQueryInformation@24 000107d0 f miniport.obj
27 | 0001:000005f0 _MPQueryPNPCapabilities@8 000108f0 f miniport.obj
28 | 0001:00000690 _MPSetInformation@24 00010990 f miniport.obj
29 | 0001:000008e7 _MPProcessSetPowerOid@24 00010be7 f miniport.obj
30 | 0001:00000ae0 _MPReturnPacket@8 00010de0 f miniport.obj
31 | 0001:00000b40 _MPTransferData@24 00010e40 f miniport.obj
32 | 0001:00000c49 _MPHalt@4 00010f49 f miniport.obj
33 | 0001:00000dd0 _MPReset@8 000110d0 f miniport.obj
34 | 0001:00000df0 _MPCancelSendPackets@8 000110f0 f miniport.obj
35 | 0001:00000e20 _MPDevicePnPEvent@16 00011120 f miniport.obj
36 | 0001:00000e30 _MPAdapterShutdown@4 00011130 f miniport.obj
37 | 0001:00000e40 _MPFreeAllPacketPools@4 00011140 f miniport.obj
38 | 0001:00000f81 _PtRegisterDevice@0 00011281 f passthru.obj
39 | 0001:00001100 _InitializeListHead@4 00011400 f i passthru.obj
40 | 0001:00001151 _PtDispatch@8 00011451 f passthru.obj
41 | 0001:0000138a _PtDeregisterDevice@0 0001168a f passthru.obj
42 | 0001:000014d5 _PtUnloadProtocol@0 000117d5 f passthru.obj
43 | 0001:00001520 _SecLabCancelIrp@8 00011820 f passthru.obj
44 | 0001:000015d2 _PickPacketFromList@8 000118d2 f passthru.obj
45 | 0001:000017b0 _RemoveEntryList@4 00011ab0 f i passthru.obj
46 | 0001:000017e0 _SecLabReceivePacket@12 00011ae0 f passthru.obj
47 | 0001:000018b0 _CompleteIrp@12 00011bb0 f passthru.obj
48 | 0001:000018e0 _EnListPacket@8 00011be0 f passthru.obj
49 | 0001:000019f0 _InsertTailList@8 00011cf0 f i passthru.obj
50 | 0001:00001a94 _SecLabAllocateReceivePacket@12 00011d94 f passthru.obj
51 | 0001:00001bff _SecLabFreeReceivePacket@8 00011eff f passthru.obj
52 | 0001:00001d78 _SecLabSendPacket@12 00012078 f passthru.obj
53 | 0001:000020aa _SecLabCancelWrite@8 000123aa f passthru.obj
54 | 0001:00002190 _SecLabDoRequest@24 00012490 f passthru.obj
55 | 0001:00002280 _SecLabQueryOidValue@16 00012580 f passthru.obj
56 | 0001:000023dc _PtBindAdapter@20 000126dc f protocol.obj
57 | 0001:0000278c _PtOpenAdapterComplete@12 00012a8c f protocol.obj
58 | 0001:000028fb _PtUnbindAdapter@12 00012bfb f protocol.obj
59 | 0001:00002b2d _PtUnload@4 00012e2d f protocol.obj
60 | 0001:00002ba7 _PtCloseAdapterComplete@8 00012ea7 f protocol.obj
61 | 0001:00002c1a _PtResetComplete@8 00012f1a f protocol.obj
62 | 0001:00002d02 _PtRequestComplete@12 00013002 f protocol.obj
63 | 0001:00002ea0 _PtStatus@16 000131a0 f protocol.obj
64 | 0001:00002f40 _PtStatusComplete@4 00013240 f protocol.obj
65 | 0001:00002fcf _PtSendComplete@12 000132cf f protocol.obj
66 | 0001:000031d0 _PtTransferDataComplete@16 000134d0 f protocol.obj
67 | 0001:000032ce _PtReceive@28 000135ce f protocol.obj
68 | 0001:0000366e _PtReceiveComplete@4 0001396e f protocol.obj
69 | 0001:00003776 _PtReceivePacket@8 00013a76 f protocol.obj
70 | 0001:000039ce _PtPNPHandler@8 00013cce f protocol.obj
71 | 0001:00003aa4 _PtPnPNetEventReconfigure@8 00013da4 f protocol.obj
72 | 0001:00003bdd _PtPnPNetEventSetPower@8 00013edd f protocol.obj
73 | 0001:00003d72 _DbgPrint 00014072 f ntoskrnl:ntoskrnl.exe
74 | 0001:00003d78 _DbgBreakPoint@0 00014078 f ntoskrnl:ntoskrnl.exe
75 | 0001:00003d7e _NdisSend@12 0001407e f ndis:NDIS.SYS
76 | 0001:00003d84 _NdisRequest@12 00014084 f ndis:NDIS.SYS
77 | 0001:00003d8a _NdisTransferData@28 0001408a f ndis:NDIS.SYS
78 | 0001:00003d90 _NdisGetFirstBufferFromPacketSafe@24 00014090 f ndis:NDIS.SYS
79 | 0001:00003d96 _NdisSendPackets@12 00014096 f ndis:NDIS.SYS
80 | 0002:00000000 __imp__NdisRegisterProtocol@16 00014100 ndis:NDIS.SYS
81 | 0002:00000004 __imp__NdisQueryPendingIOCount@8 00014104 ndis:NDIS.SYS
82 | 0002:00000008 __imp__NdisPacketPoolUsage@4 00014108 ndis:NDIS.SYS
83 | 0002:0000000c __imp__NdisReEnumerateProtocolBindings@4 0001410c ndis:NDIS.SYS
84 | 0002:00000010 __imp__NdisIMNotifyPnPEvent@8 00014110 ndis:NDIS.SYS
85 | 0002:00000014 __imp__NdisCopyFromPacketToPacket@24 00014114 ndis:NDIS.SYS
86 | 0002:00000018 __imp__NdisGetReceivedPacket@8 00014118 ndis:NDIS.SYS
87 | 0002:0000001c __imp__NdisDprAllocatePacket@12 0001411c ndis:NDIS.SYS
88 | 0002:00000020 __imp__NdisUnchainBufferAtFront@8 00014120 ndis:NDIS.SYS
89 | 0002:00000024 __imp__NdisSetEvent@4 00014124 ndis:NDIS.SYS
90 | 0002:00000028 __imp__NdisReleaseSpinLock@4 00014128 ndis:NDIS.SYS
91 | 0002:0000002c __imp__NdisAcquireSpinLock@4 0001412c ndis:NDIS.SYS
92 | 0002:00000030 __imp__NdisMSetAttributesEx@20 00014130 ndis:NDIS.SYS
93 | 0002:00000034 __imp__NdisIMGetDeviceContext@4 00014134 ndis:NDIS.SYS
94 | 0002:00000038 __imp__NdisFreePacket@4 00014138 ndis:NDIS.SYS
95 | 0002:0000003c __imp__NdisIMCopySendCompletePerPacketInfo@8 0001413c ndis:NDIS.SYS
96 | 0002:00000040 __imp__NdisIMCopySendPerPacketInfo@8 00014140 ndis:NDIS.SYS
97 | 0002:00000044 __imp__NdisAllocatePacket@12 00014144 ndis:NDIS.SYS
98 | 0002:00000048 __imp__NdisSend@12 00014148 ndis:NDIS.SYS
99 | 0002:0000004c __imp__NdisIMGetCurrentPacketStack@8 0001414c ndis:NDIS.SYS
100 | 0002:00000050 __imp__NdisInitUnicodeString@8 00014150 ndis:NDIS.SYS
101 | 0002:00000054 __imp__NdisRequest@12 00014154 ndis:NDIS.SYS
102 | 0002:00000058 __imp__NdisReturnPackets@8 00014158 ndis:NDIS.SYS
103 | 0002:0000005c __imp__NdisGetPoolFromPacket@4 0001415c ndis:NDIS.SYS
104 | 0002:00000060 __imp__NdisTransferData@28 00014160 ndis:NDIS.SYS
105 | 0002:00000064 __imp__NdisFreeMemory@12 00014164 ndis:NDIS.SYS
106 | 0002:00000068 __imp__NdisFreeBufferPool@4 00014168 ndis:NDIS.SYS
107 | 0002:0000006c __imp__NdisWaitEvent@8 0001416c ndis:NDIS.SYS
108 | 0002:00000070 __imp__NdisCloseAdapter@8 00014170 ndis:NDIS.SYS
109 | 0002:00000074 __imp__NdisResetEvent@4 00014174 ndis:NDIS.SYS
110 | 0002:00000078 __imp__NdisCancelSendPackets@8 00014178 ndis:NDIS.SYS
111 | 0002:0000007c __imp__NdisFreePacketPool@4 0001417c ndis:NDIS.SYS
112 | 0002:00000080 __imp__NdisTerminateWrapper@8 00014180 ndis:NDIS.SYS
113 | 0002:00000084 __imp__NdisIMAssociateMiniport@8 00014184 ndis:NDIS.SYS
114 | 0002:00000088 __imp__NdisIMDeregisterLayeredMiniport@4 00014188 ndis:NDIS.SYS
115 | 0002:0000008c __imp__NdisMRegisterUnloadHandler@8 0001418c ndis:NDIS.SYS
116 | 0002:00000090 __imp__NdisIMRegisterLayeredMiniport@16 00014190 ndis:NDIS.SYS
117 | 0002:00000094 __imp__NdisInitializeWrapper@16 00014194 ndis:NDIS.SYS
118 | 0002:00000098 __imp__NdisAllocateBufferPool@12 00014198 ndis:NDIS.SYS
119 | 0002:0000009c __imp__NdisGeneratePartialCancelId@0 0001419c ndis:NDIS.SYS
120 | 0002:000000a0 __imp__NdisAllocateSpinLock@4 000141a0 ndis:NDIS.SYS
121 | 0002:000000a4 __imp__NdisMRegisterDevice@24 000141a4 ndis:NDIS.SYS
122 | 0002:000000a8 __imp__NdisMSleep@4 000141a8 ndis:NDIS.SYS
123 | 0002:000000ac __imp__NdisMDeregisterDevice@4 000141ac ndis:NDIS.SYS
124 | 0002:000000b0 __imp__NdisDeregisterProtocol@8 000141b0 ndis:NDIS.SYS
125 | 0002:000000b4 __imp__NdisQueryBufferSafe@16 000141b4 ndis:NDIS.SYS
126 | 0002:000000b8 __imp__NdisFreeBuffer@4 000141b8 ndis:NDIS.SYS
127 | 0002:000000bc __imp__NdisAllocateBuffer@20 000141bc ndis:NDIS.SYS
128 | 0002:000000c0 __imp__NdisAllocateMemoryWithTag@12 000141c0 ndis:NDIS.SYS
129 | 0002:000000c4 __imp__NdisGetFirstBufferFromPacketSafe@24 000141c4 ndis:NDIS.SYS
130 | 0002:000000c8 __imp__NdisSendPackets@12 000141c8 ndis:NDIS.SYS
131 | 0002:000000cc __imp__NdisInterlockedIncrement@4 000141cc ndis:NDIS.SYS
132 | 0002:000000d0 __imp__NdisInterlockedDecrement@4 000141d0 ndis:NDIS.SYS
133 | 0002:000000d4 __imp__NdisInitializeEvent@4 000141d4 ndis:NDIS.SYS
134 | 0002:000000d8 __imp__NdisCloseConfiguration@4 000141d8 ndis:NDIS.SYS
135 | 0002:000000dc __imp__NdisIMInitializeDeviceInstanceEx@12 000141dc ndis:NDIS.SYS
136 | 0002:000000e0 __imp__NdisOpenAdapter@44 000141e0 ndis:NDIS.SYS
137 | 0002:000000e4 __imp__NdisAllocatePacketPoolEx@20 000141e4 ndis:NDIS.SYS
138 | 0002:000000e8 __imp__NdisReadConfiguration@20 000141e8 ndis:NDIS.SYS
139 | 0002:000000ec __imp__NdisOpenProtocolConfiguration@12 000141ec ndis:NDIS.SYS
140 | 0002:000000f0 __imp__NdisIMDeInitializeDeviceInstance@4 000141f0 ndis:NDIS.SYS
141 | 0002:000000f4 __imp__NdisIMCancelInitializeDeviceInstance@8 000141f4 ndis:NDIS.SYS
142 | 0002:000000f8 __imp__NdisDprFreePacket@4 000141f8 ndis:NDIS.SYS
143 | 0002:000000fc \177NDIS_NULL_THUNK_DATA 000141fc ndis:NDIS.SYS
144 | 0002:00000100 __imp__ExAllocatePoolWithTag@12 00014200 ntoskrnl:ntoskrnl.exe
145 | 0002:00000104 __imp__DbgBreakPoint@0 00014204 ntoskrnl:ntoskrnl.exe
146 | 0002:00000108 __imp_@InterlockedExchange@8 00014208 ntoskrnl:ntoskrnl.exe
147 | 0002:0000010c __imp__ExFreePool@4 0001420c ntoskrnl:ntoskrnl.exe
148 | 0002:00000110 __imp__IoReleaseCancelSpinLock@4 00014210 ntoskrnl:ntoskrnl.exe
149 | 0002:00000114 __imp_@IofCompleteRequest@8 00014214 ntoskrnl:ntoskrnl.exe
150 | 0002:00000118 __imp__DbgPrint 00014218 ntoskrnl:ntoskrnl.exe
151 | 0002:0000011c __imp__RtlAssert@16 0001421c ntoskrnl:ntoskrnl.exe
152 | 0002:00000120 \177ntoskrnl_NULL_THUNK_DATA 00014220 ntoskrnl:ntoskrnl.exe
153 | 0003:00000000 _MediumArray 00014300 passthru.obj
154 | 0003:00000010 _ProtHandle 00014310 passthru.obj
155 | 0003:00000014 _DriverHandle 00014314 passthru.obj
156 | 0003:00000018 _pAdaptList 00014318 passthru.obj
157 | 0003:0000001c _MiniportCount 0001431c passthru.obj
158 | 0003:00000020 _NdisDeviceHandle 00014320 passthru.obj
159 | 0003:00000024 _ControlDeviceObject 00014324 passthru.obj
160 | 0003:00000028 _ControlDeviceState 00014328 passthru.obj
161 | 0003:0000002c _NdisWrapperHandle 0001432c
162 | 0003:00000030 _GlobalLock 00014330
163 | 0003:00000038 _pAdaptTotal 00014338
164 | 0003:00000040 _PacketListLock 00014340
165 | 0003:00000048 _WriteIrpLock 00014348
166 | 0003:00000050 _PacketCount 00014350
167 | 0003:00000054 _ReadCount 00014354
168 | 0003:00000058 _PartialCancelId 00014358
169 | 0003:00000060 _PacketList 00014360
170 | 0003:00000068 _RecvBufferPool 00014368
171 | 0003:0000006c _CurrentNum 0001436c
172 | 0003:00000070 _PendedWritesList 00014370
173 | 0003:00000078 _ReadIrp 00014378
174 | 0003:0000007c _LocalCancelId 0001437c
175 | 0003:00000080 _SendBufferPool 00014380
176 | 0003:00000088 _ReadIrpLock 00014388
177 | 0003:00000090 ___@@_PchSym_@00@UmwrhUkzgsifrmexUwireviUlyqxspUrDIGUkivxlnkOlyq@passthru 00014390
178 | 0003:00000094 _PendedSendCount 00014394
179 | 0004:00000012 _DriverEntry@8 00014412 f passthru.obj
180 | 0004:000002f8 __IMPORT_DESCRIPTOR_ntoskrnl 000146f8 ntoskrnl:ntoskrnl.exe
181 | 0004:0000030c __IMPORT_DESCRIPTOR_NDIS 0001470c ndis:NDIS.SYS
182 | 0004:00000320 __NULL_IMPORT_DESCRIPTOR 00014720 ntoskrnl:ntoskrnl.exe
183 |
184 | entry point at 0004:00000012
185 |
186 | Static symbols
187 |
188 |
--------------------------------------------------------------------------------
/PathruInVc/driver/objchk/i386/passthru.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/driver/objchk/i386/passthru.obj
--------------------------------------------------------------------------------
/PathruInVc/driver/objchk/i386/passthru.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/driver/objchk/i386/passthru.pdb
--------------------------------------------------------------------------------
/PathruInVc/driver/objchk/i386/passthru.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/driver/objchk/i386/passthru.res
--------------------------------------------------------------------------------
/PathruInVc/driver/objchk/i386/passthru.sym:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/driver/objchk/i386/passthru.sym
--------------------------------------------------------------------------------
/PathruInVc/driver/objchk/i386/passthru.sys:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/driver/objchk/i386/passthru.sys
--------------------------------------------------------------------------------
/PathruInVc/driver/objchk/i386/precomp.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/driver/objchk/i386/precomp.obj
--------------------------------------------------------------------------------
/PathruInVc/driver/objchk/i386/precomp.pch:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/driver/objchk/i386/precomp.pch
--------------------------------------------------------------------------------
/PathruInVc/driver/objchk/i386/protocol.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/driver/objchk/i386/protocol.obj
--------------------------------------------------------------------------------
/PathruInVc/driver/passthru.aps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/driver/passthru.aps
--------------------------------------------------------------------------------
/PathruInVc/driver/passthru.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/driver/passthru.c
--------------------------------------------------------------------------------
/PathruInVc/driver/passthru.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/driver/passthru.dll
--------------------------------------------------------------------------------
/PathruInVc/driver/passthru.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/driver/passthru.h
--------------------------------------------------------------------------------
/PathruInVc/driver/passthru.rc:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | /*-----------------------------------------------*/
5 | /* the following lines are specific to this file */
6 | /*-----------------------------------------------*/
7 |
8 | /* VER_FILETYPE, VER_FILESUBTYPE, VER_FILEDESCRIPTION_STR
9 | * and VER_INTERNALNAME_STR must be defined before including COMMON.VER
10 | * The strings don't need a '\0', since common.ver has them.
11 | */
12 | #define VER_FILETYPE VFT_DRV
13 | /* possible values: VFT_UNKNOWN
14 | VFT_APP
15 | VFT_DLL
16 | VFT_DRV
17 | VFT_FONT
18 | VFT_VXD
19 | VFT_STATIC_LIB
20 | */
21 | #define VER_FILESUBTYPE VFT2_DRV_NETWORK
22 | /* possible values VFT2_UNKNOWN
23 | VFT2_DRV_PRINTER
24 | VFT2_DRV_KEYBOARD
25 | VFT2_DRV_LANGUAGE
26 | VFT2_DRV_DISPLAY
27 | VFT2_DRV_MOUSE
28 | VFT2_DRV_NETWORK
29 | VFT2_DRV_SYSTEM
30 | VFT2_DRV_INSTALLABLE
31 | VFT2_DRV_SOUND
32 | VFT2_DRV_COMM
33 | */
34 | #define VER_FILEDESCRIPTION_STR "Sample NDIS 4.0 Intermediate Miniport Driver"
35 | #define VER_INTERNALNAME_STR "PASSTHRU.SYS"
36 | #define VER_ORIGINALFILENAME_STR "PASSTHRU.SYS"
37 |
38 | #include "common.ver"
39 |
40 |
41 |
--------------------------------------------------------------------------------
/PathruInVc/driver/passthru.sys:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/driver/passthru.sys
--------------------------------------------------------------------------------
/PathruInVc/driver/precomp.h:
--------------------------------------------------------------------------------
1 | #include
2 | #include "passthru.h"
3 |
4 |
--------------------------------------------------------------------------------
/PathruInVc/driver/protocol.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/driver/protocol.c
--------------------------------------------------------------------------------
/PathruInVc/driver/sources:
--------------------------------------------------------------------------------
1 | TARGETNAME=passthru
2 | TARGETPATH=obj
3 | TARGETTYPE=DRIVER
4 |
5 | C_DEFINES=$(C_DEFINES) -DNDIS_MINIPORT_DRIVER -DNDIS_WDM=1
6 |
7 | C_DEFINES=$(C_DEFINES) -DNDIS51_MINIPORT=1
8 | C_DEFINES=$(C_DEFINES) -DNDIS51=1
9 |
10 | # Comment out the two lines above and uncomment the following
11 | # two lines to build for Win2000 or Win98/SE or WinMe
12 | # C_DEFINES=$(C_DEFINES) -DNDIS40_MINIPORT=1
13 | # C_DEFINES=$(C_DEFINES) -DNDIS40=1
14 |
15 | # Uncomment the following to build for Win98/SE/WinMe
16 | # This causes several APIs that are not present in Win9X to be
17 | # ifdef'ed out.
18 | # C_DEFINES=$(C_DEFINES) -DWIN9X=1
19 |
20 | PRECOMPILED_INCLUDE=precomp.h
21 | PRECOMPILED_PCH=precomp.pch
22 | PRECOMPILED_OBJ=precomp.obj
23 |
24 | TARGETLIBS=$(DDK_LIB_PATH)\ndis.lib
25 |
26 | USE_MAPSYM=1
27 |
28 | INCLUDES=
29 |
30 | SOURCES=\
31 | miniport.c \
32 | passthru.c \
33 | passthru.rc \
34 | protocol.c
35 |
36 |
--------------------------------------------------------------------------------
/PathruInVc/~VC11D.tmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/~VC11D.tmp
--------------------------------------------------------------------------------
/PathruInVc/说明.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/PathruInVc/说明.txt
--------------------------------------------------------------------------------
/TcpStack/Debug/Ftp.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/Ftp.obj
--------------------------------------------------------------------------------
/TcpStack/Debug/Ftp.sbr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/Ftp.sbr
--------------------------------------------------------------------------------
/TcpStack/Debug/Mac.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/Mac.obj
--------------------------------------------------------------------------------
/TcpStack/Debug/Mac.sbr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/Mac.sbr
--------------------------------------------------------------------------------
/TcpStack/Debug/StdAfx.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/StdAfx.obj
--------------------------------------------------------------------------------
/TcpStack/Debug/StdAfx.sbr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/StdAfx.sbr
--------------------------------------------------------------------------------
/TcpStack/Debug/Tcp.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/Tcp.obj
--------------------------------------------------------------------------------
/TcpStack/Debug/Tcp.sbr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/Tcp.sbr
--------------------------------------------------------------------------------
/TcpStack/Debug/TcpStack.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/TcpStack.exe
--------------------------------------------------------------------------------
/TcpStack/Debug/TcpStack.ilk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/TcpStack.ilk
--------------------------------------------------------------------------------
/TcpStack/Debug/TcpStack.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/TcpStack.obj
--------------------------------------------------------------------------------
/TcpStack/Debug/TcpStack.pch:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/TcpStack.pch
--------------------------------------------------------------------------------
/TcpStack/Debug/TcpStack.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/TcpStack.pdb
--------------------------------------------------------------------------------
/TcpStack/Debug/TcpStack.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/TcpStack.res
--------------------------------------------------------------------------------
/TcpStack/Debug/TcpStack.sbr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/TcpStack.sbr
--------------------------------------------------------------------------------
/TcpStack/Debug/TcpStackDlg.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/TcpStackDlg.obj
--------------------------------------------------------------------------------
/TcpStack/Debug/TcpStackDlg.sbr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/TcpStackDlg.sbr
--------------------------------------------------------------------------------
/TcpStack/Debug/commen.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/commen.obj
--------------------------------------------------------------------------------
/TcpStack/Debug/commen.sbr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/commen.sbr
--------------------------------------------------------------------------------
/TcpStack/Debug/mmTimers.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/mmTimers.obj
--------------------------------------------------------------------------------
/TcpStack/Debug/mmTimers.sbr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/mmTimers.sbr
--------------------------------------------------------------------------------
/TcpStack/Debug/packet.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/packet.obj
--------------------------------------------------------------------------------
/TcpStack/Debug/packet.sbr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/packet.sbr
--------------------------------------------------------------------------------
/TcpStack/Debug/vc60.idb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/vc60.idb
--------------------------------------------------------------------------------
/TcpStack/Debug/vc60.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Debug/vc60.pdb
--------------------------------------------------------------------------------
/TcpStack/Ftp.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Ftp.cpp
--------------------------------------------------------------------------------
/TcpStack/Ftp.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Ftp.h
--------------------------------------------------------------------------------
/TcpStack/Mac.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Mac.cpp
--------------------------------------------------------------------------------
/TcpStack/Mac.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Mac.h
--------------------------------------------------------------------------------
/TcpStack/ReadMe.txt:
--------------------------------------------------------------------------------
1 | ========================================================================
2 | MICROSOFT FOUNDATION CLASS LIBRARY : TcpStack
3 | ========================================================================
4 |
5 |
6 | AppWizard has created this TcpStack application for you. This application
7 | not only demonstrates the basics of using the Microsoft Foundation classes
8 | but is also a starting point for writing your application.
9 |
10 | This file contains a summary of what you will find in each of the files that
11 | make up your TcpStack application.
12 |
13 | TcpStack.dsp
14 | This file (the project file) contains information at the project level and
15 | is used to build a single project or subproject. Other users can share the
16 | project (.dsp) file, but they should export the makefiles locally.
17 |
18 | TcpStack.h
19 | This is the main header file for the application. It includes other
20 | project specific headers (including Resource.h) and declares the
21 | CTcpStackApp application class.
22 |
23 | TcpStack.cpp
24 | This is the main application source file that contains the application
25 | class CTcpStackApp.
26 |
27 | TcpStack.rc
28 | This is a listing of all of the Microsoft Windows resources that the
29 | program uses. It includes the icons, bitmaps, and cursors that are stored
30 | in the RES subdirectory. This file can be directly edited in Microsoft
31 | Visual C++.
32 |
33 | TcpStack.clw
34 | This file contains information used by ClassWizard to edit existing
35 | classes or add new classes. ClassWizard also uses this file to store
36 | information needed to create and edit message maps and dialog data
37 | maps and to create prototype member functions.
38 |
39 | res\TcpStack.ico
40 | This is an icon file, which is used as the application's icon. This
41 | icon is included by the main resource file TcpStack.rc.
42 |
43 | res\TcpStack.rc2
44 | This file contains resources that are not edited by Microsoft
45 | Visual C++. You should place all resources not editable by
46 | the resource editor in this file.
47 |
48 |
49 |
50 |
51 | /////////////////////////////////////////////////////////////////////////////
52 |
53 | AppWizard creates one dialog class:
54 |
55 | TcpStackDlg.h, TcpStackDlg.cpp - the dialog
56 | These files contain your CTcpStackDlg class. This class defines
57 | the behavior of your application's main dialog. The dialog's
58 | template is in TcpStack.rc, which can be edited in Microsoft
59 | Visual C++.
60 |
61 |
62 | /////////////////////////////////////////////////////////////////////////////
63 | Other standard files:
64 |
65 | StdAfx.h, StdAfx.cpp
66 | These files are used to build a precompiled header (PCH) file
67 | named TcpStack.pch and a precompiled types file named StdAfx.obj.
68 |
69 | Resource.h
70 | This is the standard header file, which defines new resource IDs.
71 | Microsoft Visual C++ reads and updates this file.
72 |
73 | /////////////////////////////////////////////////////////////////////////////
74 | Other notes:
75 |
76 | AppWizard uses "TODO:" to indicate parts of the source code you
77 | should add to or customize.
78 |
79 | If your application uses MFC in a shared DLL, and your application is
80 | in a language other than the operating system's current language, you
81 | will need to copy the corresponding localized resources MFC42XXX.DLL
82 | from the Microsoft Visual C++ CD-ROM onto the system or system32 directory,
83 | and rename it to be MFCLOC.DLL. ("XXX" stands for the language abbreviation.
84 | For example, MFC42DEU.DLL contains resources translated to German.) If you
85 | don't do this, some of the UI elements of your application will remain in the
86 | language of the operating system.
87 |
88 | /////////////////////////////////////////////////////////////////////////////
89 |
--------------------------------------------------------------------------------
/TcpStack/SETUPAPI.LIB:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/SETUPAPI.LIB
--------------------------------------------------------------------------------
/TcpStack/StdAfx.cpp:
--------------------------------------------------------------------------------
1 | // stdafx.cpp : source file that includes just the standard includes
2 | // TcpStack.pch will be the pre-compiled header
3 | // stdafx.obj will contain the pre-compiled type information
4 |
5 | #include "stdafx.h"
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/TcpStack/StdAfx.h:
--------------------------------------------------------------------------------
1 | // stdafx.h : include file for standard system include files,
2 | // or project specific include files that are used frequently, but
3 | // are changed infrequently
4 | //
5 |
6 | #if !defined(AFX_STDAFX_H__941B1C29_B766_4C49_8974_1A7EBB9DD51E__INCLUDED_)
7 | #define AFX_STDAFX_H__941B1C29_B766_4C49_8974_1A7EBB9DD51E__INCLUDED_
8 |
9 | #if _MSC_VER > 1000
10 | #pragma once
11 | #endif // _MSC_VER > 1000
12 |
13 | #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
14 |
15 | #include // MFC core and standard components
16 | #include // MFC extensions
17 | #include // MFC Automation classes
18 | #include // MFC support for Internet Explorer 4 Common Controls
19 | #ifndef _AFX_NO_AFXCMN_SUPPORT
20 | #include // MFC support for Windows Common Controls
21 | #endif // _AFX_NO_AFXCMN_SUPPORT
22 |
23 |
24 | //{{AFX_INSERT_LOCATION}}
25 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
26 |
27 | #endif // !defined(AFX_STDAFX_H__941B1C29_B766_4C49_8974_1A7EBB9DD51E__INCLUDED_)
28 |
--------------------------------------------------------------------------------
/TcpStack/Tcp.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Tcp.cpp
--------------------------------------------------------------------------------
/TcpStack/Tcp.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/Tcp.h
--------------------------------------------------------------------------------
/TcpStack/TcpStack.aps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/TcpStack.aps
--------------------------------------------------------------------------------
/TcpStack/TcpStack.clw:
--------------------------------------------------------------------------------
1 | ; CLW file contains information for the MFC ClassWizard
2 |
3 | [General Info]
4 | Version=1
5 | LastClass=CTcpStackDlg
6 | LastTemplate=CDialog
7 | NewFileInclude1=#include "stdafx.h"
8 | NewFileInclude2=#include "TcpStack.h"
9 |
10 | ClassCount=3
11 | Class1=CTcpStackApp
12 | Class2=CTcpStackDlg
13 | Class3=CAboutDlg
14 |
15 | ResourceCount=3
16 | Resource1=IDD_ABOUTBOX
17 | Resource2=IDR_MAINFRAME
18 | Resource3=IDD_TCPSTACK_DIALOG
19 |
20 | [CLS:CTcpStackApp]
21 | Type=0
22 | HeaderFile=TcpStack.h
23 | ImplementationFile=TcpStack.cpp
24 | Filter=N
25 | LastObject=CTcpStackApp
26 |
27 | [CLS:CTcpStackDlg]
28 | Type=0
29 | HeaderFile=TcpStackDlg.h
30 | ImplementationFile=TcpStackDlg.cpp
31 | Filter=D
32 | BaseClass=CDialog
33 | VirtualFilter=dWC
34 | LastObject=CTcpStackDlg
35 |
36 | [CLS:CAboutDlg]
37 | Type=0
38 | HeaderFile=TcpStackDlg.h
39 | ImplementationFile=TcpStackDlg.cpp
40 | Filter=D
41 | LastObject=CAboutDlg
42 |
43 | [DLG:IDD_ABOUTBOX]
44 | Type=1
45 | Class=CAboutDlg
46 | ControlCount=4
47 | Control1=IDC_STATIC,static,1342177283
48 | Control2=IDC_STATIC,static,1342308480
49 | Control3=IDC_STATIC,static,1342308352
50 | Control4=IDOK,button,1342373889
51 |
52 | [DLG:IDD_TCPSTACK_DIALOG]
53 | Type=1
54 | Class=CTcpStackDlg
55 | ControlCount=15
56 | Control1=IDB_START,button,1342242816
57 | Control2=IDCANCEL,button,1342242816
58 | Control3=IDB_CONNECT,button,1342242816
59 | Control4=IDB_SENDFILE,button,1342242816
60 | Control5=IDB_INSTALL,button,1342242816
61 | Control6=IDC_IPADDRESS,SysIPAddress32,1342242816
62 | Control7=IDC_STATIC,static,1342308352
63 | Control8=IDC_STATIC,button,1342177287
64 | Control9=IDC_EDIT_SRCPORT,edit,1350639744
65 | Control10=IDC_EDIT_DSTPORT,edit,1350639744
66 | Control11=IDC_STATIC,static,1342308352
67 | Control12=IDC_STATIC,static,1342308352
68 | Control13=IDC_STATIC,button,1342177287
69 | Control14=IDC_STATIC,button,1342177287
70 | Control15=IDC_STATIC,button,1342177287
71 |
72 |
--------------------------------------------------------------------------------
/TcpStack/TcpStack.cpp:
--------------------------------------------------------------------------------
1 | // TcpStack.cpp : Defines the class behaviors for the application.
2 | //
3 |
4 | #include "stdafx.h"
5 | #include "TcpStack.h"
6 | #include "TcpStackDlg.h"
7 |
8 | #ifdef _DEBUG
9 | #define new DEBUG_NEW
10 | #undef THIS_FILE
11 | static char THIS_FILE[] = __FILE__;
12 | #endif
13 |
14 | /////////////////////////////////////////////////////////////////////////////
15 | // CTcpStackApp
16 |
17 | BEGIN_MESSAGE_MAP(CTcpStackApp, CWinApp)
18 | //{{AFX_MSG_MAP(CTcpStackApp)
19 | // NOTE - the ClassWizard will add and remove mapping macros here.
20 | // DO NOT EDIT what you see in these blocks of generated code!
21 | //}}AFX_MSG
22 | ON_COMMAND(ID_HELP, CWinApp::OnHelp)
23 | END_MESSAGE_MAP()
24 |
25 | /////////////////////////////////////////////////////////////////////////////
26 | // CTcpStackApp construction
27 |
28 | CTcpStackApp::CTcpStackApp()
29 | {
30 | // TODO: add construction code here,
31 | // Place all significant initialization in InitInstance
32 | }
33 |
34 | /////////////////////////////////////////////////////////////////////////////
35 | // The one and only CTcpStackApp object
36 |
37 | CTcpStackApp theApp;
38 |
39 | /////////////////////////////////////////////////////////////////////////////
40 | // CTcpStackApp initialization
41 |
42 | BOOL CTcpStackApp::InitInstance()
43 | {
44 | AfxEnableControlContainer();
45 |
46 | // Standard initialization
47 | // If you are not using these features and wish to reduce the size
48 | // of your final executable, you should remove from the following
49 | // the specific initialization routines you do not need.
50 |
51 | #ifdef _AFXDLL
52 | Enable3dControls(); // Call this when using MFC in a shared DLL
53 | #else
54 | Enable3dControlsStatic(); // Call this when linking to MFC statically
55 | #endif
56 |
57 | CTcpStackDlg dlg;
58 | m_pMainWnd = &dlg;
59 | int nResponse = dlg.DoModal();
60 | if (nResponse == IDOK)
61 | {
62 | // TODO: Place code here to handle when the dialog is
63 | // dismissed with OK
64 | }
65 | else if (nResponse == IDCANCEL)
66 | {
67 | // TODO: Place code here to handle when the dialog is
68 | // dismissed with Cancel
69 | }
70 |
71 | // Since the dialog has been closed, return FALSE so that we exit the
72 | // application, rather than start the application's message pump.
73 | return FALSE;
74 | }
75 |
--------------------------------------------------------------------------------
/TcpStack/TcpStack.dsp:
--------------------------------------------------------------------------------
1 | # Microsoft Developer Studio Project File - Name="TcpStack" - Package Owner=<4>
2 | # Microsoft Developer Studio Generated Build File, Format Version 6.00
3 | # ** DO NOT EDIT **
4 |
5 | # TARGTYPE "Win32 (x86) Application" 0x0101
6 |
7 | CFG=TcpStack - Win32 Debug
8 | !MESSAGE This is not a valid makefile. To build this project using NMAKE,
9 | !MESSAGE use the Export Makefile command and run
10 | !MESSAGE
11 | !MESSAGE NMAKE /f "TcpStack.mak".
12 | !MESSAGE
13 | !MESSAGE You can specify a configuration when running NMAKE
14 | !MESSAGE by defining the macro CFG on the command line. For example:
15 | !MESSAGE
16 | !MESSAGE NMAKE /f "TcpStack.mak" CFG="TcpStack - Win32 Debug"
17 | !MESSAGE
18 | !MESSAGE Possible choices for configuration are:
19 | !MESSAGE
20 | !MESSAGE "TcpStack - Win32 Release" (based on "Win32 (x86) Application")
21 | !MESSAGE "TcpStack - Win32 Debug" (based on "Win32 (x86) Application")
22 | !MESSAGE
23 |
24 | # Begin Project
25 | # PROP AllowPerConfigDependencies 0
26 | # PROP Scc_ProjName ""
27 | # PROP Scc_LocalPath ""
28 | CPP=cl.exe
29 | MTL=midl.exe
30 | RSC=rc.exe
31 |
32 | !IF "$(CFG)" == "TcpStack - Win32 Release"
33 |
34 | # PROP BASE Use_MFC 6
35 | # PROP BASE Use_Debug_Libraries 0
36 | # PROP BASE Output_Dir "Release"
37 | # PROP BASE Intermediate_Dir "Release"
38 | # PROP BASE Target_Dir ""
39 | # PROP Use_MFC 5
40 | # PROP Use_Debug_Libraries 0
41 | # PROP Output_Dir "Release"
42 | # PROP Intermediate_Dir "Release"
43 | # PROP Ignore_Export_Lib 0
44 | # PROP Target_Dir ""
45 | # ADD BASE CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /c
46 | # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /Yu"stdafx.h" /FD /c
47 | # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
48 | # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
49 | # ADD BASE RSC /l 0x804 /d "NDEBUG" /d "_AFXDLL"
50 | # ADD RSC /l 0x804 /d "NDEBUG"
51 | BSC32=bscmake.exe
52 | # ADD BASE BSC32 /nologo
53 | # ADD BSC32 /nologo
54 | LINK32=link.exe
55 | # ADD BASE LINK32 /nologo /subsystem:windows /machine:I386
56 | # ADD LINK32 Winmm.lib VERSION.LIB uuid.lib SETUPAPI.LIB /nologo /subsystem:windows /machine:I386
57 |
58 | !ELSEIF "$(CFG)" == "TcpStack - Win32 Debug"
59 |
60 | # PROP BASE Use_MFC 6
61 | # PROP BASE Use_Debug_Libraries 1
62 | # PROP BASE Output_Dir "Debug"
63 | # PROP BASE Intermediate_Dir "Debug"
64 | # PROP BASE Target_Dir ""
65 | # PROP Use_MFC 5
66 | # PROP Use_Debug_Libraries 1
67 | # PROP Output_Dir "Debug"
68 | # PROP Intermediate_Dir "Debug"
69 | # PROP Ignore_Export_Lib 0
70 | # PROP Target_Dir ""
71 | # ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /GZ /c
72 | # ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /FR /Yu"stdafx.h" /FD /GZ /c
73 | # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
74 | # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
75 | # ADD BASE RSC /l 0x804 /d "_DEBUG" /d "_AFXDLL"
76 | # ADD RSC /l 0x804 /d "_DEBUG"
77 | BSC32=bscmake.exe
78 | # ADD BASE BSC32 /nologo
79 | # ADD BSC32 /nologo
80 | LINK32=link.exe
81 | # ADD BASE LINK32 /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
82 | # ADD LINK32 winmm.lib VERSION.LIB uuid.lib SETUPAPI.LIB /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
83 |
84 | !ENDIF
85 |
86 | # Begin Target
87 |
88 | # Name "TcpStack - Win32 Release"
89 | # Name "TcpStack - Win32 Debug"
90 | # Begin Group "Source Files"
91 |
92 | # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
93 | # Begin Source File
94 |
95 | SOURCE=.\commen.cpp
96 | # End Source File
97 | # Begin Source File
98 |
99 | SOURCE=.\Ftp.cpp
100 | # End Source File
101 | # Begin Source File
102 |
103 | SOURCE=.\Mac.cpp
104 | # End Source File
105 | # Begin Source File
106 |
107 | SOURCE=.\mmTimers.cpp
108 | # End Source File
109 | # Begin Source File
110 |
111 | SOURCE=.\packet.cpp
112 | # End Source File
113 | # Begin Source File
114 |
115 | SOURCE=.\StdAfx.cpp
116 | # ADD CPP /Yc"stdafx.h"
117 | # End Source File
118 | # Begin Source File
119 |
120 | SOURCE=.\Tcp.cpp
121 | # End Source File
122 | # Begin Source File
123 |
124 | SOURCE=.\TcpStack.cpp
125 | # End Source File
126 | # Begin Source File
127 |
128 | SOURCE=.\TcpStack.rc
129 | # End Source File
130 | # Begin Source File
131 |
132 | SOURCE=.\TcpStackDlg.cpp
133 | # End Source File
134 | # End Group
135 | # Begin Group "Header Files"
136 |
137 | # PROP Default_Filter "h;hpp;hxx;hm;inl"
138 | # Begin Source File
139 |
140 | SOURCE=.\commen.h
141 | # End Source File
142 | # Begin Source File
143 |
144 | SOURCE=.\Ftp.h
145 | # End Source File
146 | # Begin Source File
147 |
148 | SOURCE=.\Mac.h
149 | # End Source File
150 | # Begin Source File
151 |
152 | SOURCE=.\mmTimers.h
153 | # End Source File
154 | # Begin Source File
155 |
156 | SOURCE=.\packet.h
157 | # End Source File
158 | # Begin Source File
159 |
160 | SOURCE=.\Resource.h
161 | # End Source File
162 | # Begin Source File
163 |
164 | SOURCE=.\StdAfx.h
165 | # End Source File
166 | # Begin Source File
167 |
168 | SOURCE=.\Tcp.h
169 | # End Source File
170 | # Begin Source File
171 |
172 | SOURCE=.\TcpStack.h
173 | # End Source File
174 | # Begin Source File
175 |
176 | SOURCE=.\TcpStackDlg.h
177 | # End Source File
178 | # End Group
179 | # Begin Group "Resource Files"
180 |
181 | # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
182 | # Begin Source File
183 |
184 | SOURCE=.\res\TcpStack.ico
185 | # End Source File
186 | # Begin Source File
187 |
188 | SOURCE=.\res\TcpStack.rc2
189 | # End Source File
190 | # End Group
191 | # Begin Source File
192 |
193 | SOURCE=.\ReadMe.txt
194 | # End Source File
195 | # End Target
196 | # End Project
197 |
--------------------------------------------------------------------------------
/TcpStack/TcpStack.dsw:
--------------------------------------------------------------------------------
1 | Microsoft Developer Studio Workspace File, Format Version 6.00
2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
3 |
4 | ###############################################################################
5 |
6 | Project: "TcpStack"=.\TcpStack.dsp - Package Owner=<4>
7 |
8 | Package=<5>
9 | {{{
10 | }}}
11 |
12 | Package=<4>
13 | {{{
14 | }}}
15 |
16 | ###############################################################################
17 |
18 | Global:
19 |
20 | Package=<5>
21 | {{{
22 | }}}
23 |
24 | Package=<3>
25 | {{{
26 | }}}
27 |
28 | ###############################################################################
29 |
30 |
--------------------------------------------------------------------------------
/TcpStack/TcpStack.h:
--------------------------------------------------------------------------------
1 | // TcpStack.h : main header file for the TCPSTACK application
2 | //
3 |
4 | #if !defined(AFX_TCPSTACK_H__ABBF8518_E39D_4D14_B538_4383D025B93D__INCLUDED_)
5 | #define AFX_TCPSTACK_H__ABBF8518_E39D_4D14_B538_4383D025B93D__INCLUDED_
6 |
7 | #if _MSC_VER > 1000
8 | #pragma once
9 | #endif // _MSC_VER > 1000
10 |
11 | #ifndef __AFXWIN_H__
12 | #error include 'stdafx.h' before including this file for PCH
13 | #endif
14 |
15 | #include "resource.h" // main symbols
16 |
17 | /////////////////////////////////////////////////////////////////////////////
18 | // CTcpStackApp:
19 | // See TcpStack.cpp for the implementation of this class
20 | //
21 |
22 | class CTcpStackApp : public CWinApp
23 | {
24 | public:
25 | CTcpStackApp();
26 |
27 | // Overrides
28 | // ClassWizard generated virtual function overrides
29 | //{{AFX_VIRTUAL(CTcpStackApp)
30 | public:
31 | virtual BOOL InitInstance();
32 | //}}AFX_VIRTUAL
33 |
34 | // Implementation
35 |
36 | //{{AFX_MSG(CTcpStackApp)
37 | // NOTE - the ClassWizard will add and remove member functions here.
38 | // DO NOT EDIT what you see in these blocks of generated code !
39 | //}}AFX_MSG
40 | DECLARE_MESSAGE_MAP()
41 | };
42 |
43 |
44 | /////////////////////////////////////////////////////////////////////////////
45 |
46 | //{{AFX_INSERT_LOCATION}}
47 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
48 |
49 | #endif // !defined(AFX_TCPSTACK_H__ABBF8518_E39D_4D14_B538_4383D025B93D__INCLUDED_)
50 |
--------------------------------------------------------------------------------
/TcpStack/TcpStack.ncb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/TcpStack.ncb
--------------------------------------------------------------------------------
/TcpStack/TcpStack.opt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/TcpStack.opt
--------------------------------------------------------------------------------
/TcpStack/TcpStack.plg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Build Log
5 |
6 | --------------------Configuration: TcpStack - Win32 Debug--------------------
7 |
8 | Command Lines
9 |
10 |
11 |
12 | Results
13 | TcpStack.exe - 0 error(s), 0 warning(s)
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/TcpStack/TcpStack.rc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/TcpStack.rc
--------------------------------------------------------------------------------
/TcpStack/TcpStackDlg.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/TcpStackDlg.cpp
--------------------------------------------------------------------------------
/TcpStack/TcpStackDlg.h:
--------------------------------------------------------------------------------
1 | // TcpStackDlg.h : header file
2 | //
3 |
4 | #if !defined(AFX_TCPSTACKDLG_H__796D33D6_CE5D_4C70_A3C1_90CEDC033E3B__INCLUDED_)
5 | #define AFX_TCPSTACKDLG_H__796D33D6_CE5D_4C70_A3C1_90CEDC033E3B__INCLUDED_
6 |
7 | #if _MSC_VER > 1000
8 | #pragma once
9 | #endif // _MSC_VER > 1000
10 |
11 | /////////////////////////////////////////////////////////////////////////////
12 | // CTcpStackDlg dialog
13 |
14 | class CTcpStackDlg : public CDialog
15 | {
16 | // Construction
17 | public:
18 | CTcpStackDlg(CWnd* pParent = NULL); // standard constructor
19 |
20 | // Dialog Data
21 | //{{AFX_DATA(CTcpStackDlg)
22 | enum { IDD = IDD_TCPSTACK_DIALOG };
23 | CIPAddressCtrl m_DestIpAddr;
24 | UINT m_SrcPort;
25 | UINT m_DestPort;
26 | //}}AFX_DATA
27 |
28 | // ClassWizard generated virtual function overrides
29 | //{{AFX_VIRTUAL(CTcpStackDlg)
30 | protected:
31 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
32 | //}}AFX_VIRTUAL
33 |
34 | // Implementation
35 | protected:
36 | HICON m_hIcon;
37 |
38 | // Generated message map functions
39 | //{{AFX_MSG(CTcpStackDlg)
40 | virtual BOOL OnInitDialog();
41 | afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
42 | afx_msg void OnPaint();
43 | afx_msg HCURSOR OnQueryDragIcon();
44 | virtual void OnCancel();
45 | afx_msg void OnStart();
46 | afx_msg void OnConnect();
47 | afx_msg void OnSendfile();
48 | afx_msg void OnInstall();
49 | //}}AFX_MSG
50 | DECLARE_MESSAGE_MAP()
51 | };
52 |
53 |
54 |
55 | //{{AFX_INSERT_LOCATION}}
56 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
57 |
58 | #endif // !defined(AFX_TCPSTACKDLG_H__796D33D6_CE5D_4C70_A3C1_90CEDC033E3B__INCLUDED_)
59 |
--------------------------------------------------------------------------------
/TcpStack/VERSION.LIB:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/VERSION.LIB
--------------------------------------------------------------------------------
/TcpStack/WINMM.LIB:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/WINMM.LIB
--------------------------------------------------------------------------------
/TcpStack/commen.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/commen.cpp
--------------------------------------------------------------------------------
/TcpStack/commen.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/commen.h
--------------------------------------------------------------------------------
/TcpStack/mmTimers.cpp:
--------------------------------------------------------------------------------
1 | #include "StdAfx.h"
2 | #include "mmTimers.h"
3 |
4 |
5 | CMMTimers::CMMTimers(UINT resolution) : timerRes(0), timerId(0)
6 | {
7 | TIMECAPS tc;
8 |
9 | if (TIMERR_NOERROR == timeGetDevCaps(&tc,sizeof(TIMECAPS)))
10 | {
11 | timerRes = min(max(tc.wPeriodMin,resolution),tc.wPeriodMax);
12 | timeBeginPeriod(timerRes);
13 | }
14 | }
15 |
16 |
17 | CMMTimers::~CMMTimers()
18 | {
19 | stopTimer();
20 | if (0 != timerRes)
21 | {
22 | timeEndPeriod(timerRes);
23 | timerRes = 0;
24 | }
25 | }
26 |
27 |
28 | extern "C"
29 | void
30 | CALLBACK
31 | internalTimerProc(UINT id,UINT msg,DWORD dwUser,DWORD dw1,DWORD dw2)
32 | {
33 | CMMTimers * timer = (CMMTimers *)dwUser;
34 |
35 | timer->timerProc();
36 | }
37 |
38 |
39 | bool CMMTimers::startTimer(UINT period,bool oneShot)
40 | {
41 | bool res = false;
42 | MMRESULT result;
43 |
44 | result = timeSetEvent(period,timerRes,internalTimerProc,(DWORD)this,oneShot ? TIME_ONESHOT : TIME_PERIODIC);
45 | if (NULL != result)
46 | {
47 | timerId = (UINT)result;
48 | res = true;
49 | }
50 |
51 | return res;
52 | }
53 |
54 |
55 | bool CMMTimers::stopTimer()
56 | {
57 | MMRESULT result;
58 |
59 | result = timeKillEvent(timerId);
60 | if (TIMERR_NOERROR == result)
61 | timerId = 0;
62 |
63 | return TIMERR_NOERROR == result;
64 | }
65 |
66 |
67 |
68 |
69 |
--------------------------------------------------------------------------------
/TcpStack/mmTimers.h:
--------------------------------------------------------------------------------
1 | #ifndef ___multimedia_timers___
2 | #define ___multimedia_timers___
3 |
4 |
5 | #include
6 |
7 |
8 |
9 | class CMMTimers
10 | {
11 | public:
12 | CMMTimers(UINT resolution);
13 | virtual ~CMMTimers();
14 |
15 | UINT getTimerRes() { return timerRes; };
16 | UINT getTimerId() {return timerId;}
17 |
18 | bool startTimer(UINT period,bool oneShot);
19 | bool stopTimer();
20 |
21 | virtual void timerProc() {};
22 |
23 | protected:
24 | UINT timerRes;
25 | UINT timerId;
26 | };
27 |
28 |
29 |
30 | #endif
--------------------------------------------------------------------------------
/TcpStack/netcfgn.h:
--------------------------------------------------------------------------------
1 |
2 | #pragma warning( disable: 4049 ) /* more than 64k source lines */
3 |
4 | /* this ALWAYS GENERATED file contains the definitions for the interfaces */
5 |
6 |
7 | /* File created by MIDL compiler version 6.00.0347 */
8 | /* Compiler settings for netcfgn.idl:
9 | Oicf, W1, Zp8, env=Win32 (32b run)
10 | protocol : dce , ms_ext, c_ext, robust
11 | error checks: allocation ref bounds_check enum stub_data
12 | VC __declspec() decoration level:
13 | __declspec(uuid()), __declspec(selectany), __declspec(novtable)
14 | DECLSPEC_UUID(), MIDL_INTERFACE()
15 | */
16 | //@@MIDL_FILE_HEADING( )
17 |
18 |
19 | /* verify that the version is high enough to compile this file*/
20 | #ifndef __REQUIRED_RPCNDR_H_VERSION__
21 | #define __REQUIRED_RPCNDR_H_VERSION__ 475
22 | #endif
23 |
24 | #include "rpc.h"
25 | #include "rpcndr.h"
26 |
27 | #ifndef __RPCNDR_H_VERSION__
28 | #error this stub requires an updated version of
29 | #endif // __RPCNDR_H_VERSION__
30 |
31 | #ifndef COM_NO_WINDOWS_H
32 | #include "windows.h"
33 | #include "ole2.h"
34 | #endif /*COM_NO_WINDOWS_H*/
35 |
36 | #ifndef __netcfgn_h__
37 | #define __netcfgn_h__
38 |
39 | #if defined(_MSC_VER) && (_MSC_VER >= 1020)
40 | #pragma once
41 | #endif
42 |
43 | /* Forward Declarations */
44 |
45 | #ifndef __INetCfgPnpReconfigCallback_FWD_DEFINED__
46 | #define __INetCfgPnpReconfigCallback_FWD_DEFINED__
47 | typedef interface INetCfgPnpReconfigCallback INetCfgPnpReconfigCallback;
48 | #endif /* __INetCfgPnpReconfigCallback_FWD_DEFINED__ */
49 |
50 |
51 | #ifndef __INetCfgComponentControl_FWD_DEFINED__
52 | #define __INetCfgComponentControl_FWD_DEFINED__
53 | typedef interface INetCfgComponentControl INetCfgComponentControl;
54 | #endif /* __INetCfgComponentControl_FWD_DEFINED__ */
55 |
56 |
57 | #ifndef __INetCfgComponentSetup_FWD_DEFINED__
58 | #define __INetCfgComponentSetup_FWD_DEFINED__
59 | typedef interface INetCfgComponentSetup INetCfgComponentSetup;
60 | #endif /* __INetCfgComponentSetup_FWD_DEFINED__ */
61 |
62 |
63 | #ifndef __INetCfgComponentPropertyUi_FWD_DEFINED__
64 | #define __INetCfgComponentPropertyUi_FWD_DEFINED__
65 | typedef interface INetCfgComponentPropertyUi INetCfgComponentPropertyUi;
66 | #endif /* __INetCfgComponentPropertyUi_FWD_DEFINED__ */
67 |
68 |
69 | #ifndef __INetCfgComponentNotifyBinding_FWD_DEFINED__
70 | #define __INetCfgComponentNotifyBinding_FWD_DEFINED__
71 | typedef interface INetCfgComponentNotifyBinding INetCfgComponentNotifyBinding;
72 | #endif /* __INetCfgComponentNotifyBinding_FWD_DEFINED__ */
73 |
74 |
75 | #ifndef __INetCfgComponentNotifyGlobal_FWD_DEFINED__
76 | #define __INetCfgComponentNotifyGlobal_FWD_DEFINED__
77 | typedef interface INetCfgComponentNotifyGlobal INetCfgComponentNotifyGlobal;
78 | #endif /* __INetCfgComponentNotifyGlobal_FWD_DEFINED__ */
79 |
80 |
81 | #ifndef __INetCfgComponentUpperEdge_FWD_DEFINED__
82 | #define __INetCfgComponentUpperEdge_FWD_DEFINED__
83 | typedef interface INetCfgComponentUpperEdge INetCfgComponentUpperEdge;
84 | #endif /* __INetCfgComponentUpperEdge_FWD_DEFINED__ */
85 |
86 |
87 | #ifndef __INetLanConnectionUiInfo_FWD_DEFINED__
88 | #define __INetLanConnectionUiInfo_FWD_DEFINED__
89 | typedef interface INetLanConnectionUiInfo INetLanConnectionUiInfo;
90 | #endif /* __INetLanConnectionUiInfo_FWD_DEFINED__ */
91 |
92 |
93 | #ifndef __INetCfgComponentSysPrep_FWD_DEFINED__
94 | #define __INetCfgComponentSysPrep_FWD_DEFINED__
95 | typedef interface INetCfgComponentSysPrep INetCfgComponentSysPrep;
96 | #endif /* __INetCfgComponentSysPrep_FWD_DEFINED__ */
97 |
98 |
99 | /* header files for imported files */
100 | #include "unknwn.h"
101 | #include "netcfgx.h"
102 |
103 | #ifdef __cplusplus
104 | extern "C"{
105 | #endif
106 |
107 | void * __RPC_USER MIDL_user_allocate(size_t);
108 | void __RPC_USER MIDL_user_free( void * );
109 |
110 | /* interface __MIDL_itf_netcfgn_0000 */
111 | /* [local] */
112 |
113 | //+-------------------------------------------------------------------------
114 | //
115 | // Microsoft Windows
116 | // Copyright (c) Microsoft Corporation. All rights reserved.
117 | //
118 | //--------------------------------------------------------------------------
119 | #if ( _MSC_VER >= 800 )
120 | #pragma warning(disable:4201)
121 | #endif
122 |
123 |
124 | extern RPC_IF_HANDLE __MIDL_itf_netcfgn_0000_v0_0_c_ifspec;
125 | extern RPC_IF_HANDLE __MIDL_itf_netcfgn_0000_v0_0_s_ifspec;
126 |
127 | #ifndef __INetCfgPnpReconfigCallback_INTERFACE_DEFINED__
128 | #define __INetCfgPnpReconfigCallback_INTERFACE_DEFINED__
129 |
130 | /* interface INetCfgPnpReconfigCallback */
131 | /* [unique][uuid][object][local] */
132 |
133 | typedef /* [v1_enum] */
134 | enum tagNCPNP_RECONFIG_LAYER
135 | { NCRL_NDIS = 1,
136 | NCRL_TDI = 2
137 | } NCPNP_RECONFIG_LAYER;
138 |
139 |
140 | EXTERN_C const IID IID_INetCfgPnpReconfigCallback;
141 |
142 | #if defined(__cplusplus) && !defined(CINTERFACE)
143 |
144 | MIDL_INTERFACE("8d84bd35-e227-11d2-b700-00a0c98a6a85")
145 | INetCfgPnpReconfigCallback : public IUnknown
146 | {
147 | public:
148 | virtual HRESULT STDMETHODCALLTYPE SendPnpReconfig(
149 | /* [in] */ NCPNP_RECONFIG_LAYER Layer,
150 | /* [in] */ LPCWSTR pszwUpper,
151 | /* [in] */ LPCWSTR pszwLower,
152 | /* [in] */ PVOID pvData,
153 | /* [in] */ DWORD dwSizeOfData) = 0;
154 |
155 | };
156 |
157 | #else /* C style interface */
158 |
159 | typedef struct INetCfgPnpReconfigCallbackVtbl
160 | {
161 | BEGIN_INTERFACE
162 |
163 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
164 | INetCfgPnpReconfigCallback * This,
165 | /* [in] */ REFIID riid,
166 | /* [iid_is][out] */ void **ppvObject);
167 |
168 | ULONG ( STDMETHODCALLTYPE *AddRef )(
169 | INetCfgPnpReconfigCallback * This);
170 |
171 | ULONG ( STDMETHODCALLTYPE *Release )(
172 | INetCfgPnpReconfigCallback * This);
173 |
174 | HRESULT ( STDMETHODCALLTYPE *SendPnpReconfig )(
175 | INetCfgPnpReconfigCallback * This,
176 | /* [in] */ NCPNP_RECONFIG_LAYER Layer,
177 | /* [in] */ LPCWSTR pszwUpper,
178 | /* [in] */ LPCWSTR pszwLower,
179 | /* [in] */ PVOID pvData,
180 | /* [in] */ DWORD dwSizeOfData);
181 |
182 | END_INTERFACE
183 | } INetCfgPnpReconfigCallbackVtbl;
184 |
185 | interface INetCfgPnpReconfigCallback
186 | {
187 | CONST_VTBL struct INetCfgPnpReconfigCallbackVtbl *lpVtbl;
188 | };
189 |
190 |
191 |
192 | #ifdef COBJMACROS
193 |
194 |
195 | #define INetCfgPnpReconfigCallback_QueryInterface(This,riid,ppvObject) \
196 | (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
197 |
198 | #define INetCfgPnpReconfigCallback_AddRef(This) \
199 | (This)->lpVtbl -> AddRef(This)
200 |
201 | #define INetCfgPnpReconfigCallback_Release(This) \
202 | (This)->lpVtbl -> Release(This)
203 |
204 |
205 | #define INetCfgPnpReconfigCallback_SendPnpReconfig(This,Layer,pszwUpper,pszwLower,pvData,dwSizeOfData) \
206 | (This)->lpVtbl -> SendPnpReconfig(This,Layer,pszwUpper,pszwLower,pvData,dwSizeOfData)
207 |
208 | #endif /* COBJMACROS */
209 |
210 |
211 | #endif /* C style interface */
212 |
213 |
214 |
215 | HRESULT STDMETHODCALLTYPE INetCfgPnpReconfigCallback_SendPnpReconfig_Proxy(
216 | INetCfgPnpReconfigCallback * This,
217 | /* [in] */ NCPNP_RECONFIG_LAYER Layer,
218 | /* [in] */ LPCWSTR pszwUpper,
219 | /* [in] */ LPCWSTR pszwLower,
220 | /* [in] */ PVOID pvData,
221 | /* [in] */ DWORD dwSizeOfData);
222 |
223 |
224 | void __RPC_STUB INetCfgPnpReconfigCallback_SendPnpReconfig_Stub(
225 | IRpcStubBuffer *This,
226 | IRpcChannelBuffer *_pRpcChannelBuffer,
227 | PRPC_MESSAGE _pRpcMessage,
228 | DWORD *_pdwStubPhase);
229 |
230 |
231 |
232 | #endif /* __INetCfgPnpReconfigCallback_INTERFACE_DEFINED__ */
233 |
234 |
235 | #ifndef __INetCfgComponentControl_INTERFACE_DEFINED__
236 | #define __INetCfgComponentControl_INTERFACE_DEFINED__
237 |
238 | /* interface INetCfgComponentControl */
239 | /* [unique][uuid][object][local] */
240 |
241 |
242 | EXTERN_C const IID IID_INetCfgComponentControl;
243 |
244 | #if defined(__cplusplus) && !defined(CINTERFACE)
245 |
246 | MIDL_INTERFACE("932238df-bea1-11d0-9298-00c04fc99dcf")
247 | INetCfgComponentControl : public IUnknown
248 | {
249 | public:
250 | virtual HRESULT STDMETHODCALLTYPE Initialize(
251 | /* [in] */ INetCfgComponent *pIComp,
252 | /* [in] */ INetCfg *pINetCfg,
253 | /* [in] */ BOOL fInstalling) = 0;
254 |
255 | virtual HRESULT STDMETHODCALLTYPE ApplyRegistryChanges( void) = 0;
256 |
257 | virtual HRESULT STDMETHODCALLTYPE ApplyPnpChanges(
258 | /* [in] */ INetCfgPnpReconfigCallback *pICallback) = 0;
259 |
260 | virtual HRESULT STDMETHODCALLTYPE CancelChanges( void) = 0;
261 |
262 | };
263 |
264 | #else /* C style interface */
265 |
266 | typedef struct INetCfgComponentControlVtbl
267 | {
268 | BEGIN_INTERFACE
269 |
270 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
271 | INetCfgComponentControl * This,
272 | /* [in] */ REFIID riid,
273 | /* [iid_is][out] */ void **ppvObject);
274 |
275 | ULONG ( STDMETHODCALLTYPE *AddRef )(
276 | INetCfgComponentControl * This);
277 |
278 | ULONG ( STDMETHODCALLTYPE *Release )(
279 | INetCfgComponentControl * This);
280 |
281 | HRESULT ( STDMETHODCALLTYPE *Initialize )(
282 | INetCfgComponentControl * This,
283 | /* [in] */ INetCfgComponent *pIComp,
284 | /* [in] */ INetCfg *pINetCfg,
285 | /* [in] */ BOOL fInstalling);
286 |
287 | HRESULT ( STDMETHODCALLTYPE *ApplyRegistryChanges )(
288 | INetCfgComponentControl * This);
289 |
290 | HRESULT ( STDMETHODCALLTYPE *ApplyPnpChanges )(
291 | INetCfgComponentControl * This,
292 | /* [in] */ INetCfgPnpReconfigCallback *pICallback);
293 |
294 | HRESULT ( STDMETHODCALLTYPE *CancelChanges )(
295 | INetCfgComponentControl * This);
296 |
297 | END_INTERFACE
298 | } INetCfgComponentControlVtbl;
299 |
300 | interface INetCfgComponentControl
301 | {
302 | CONST_VTBL struct INetCfgComponentControlVtbl *lpVtbl;
303 | };
304 |
305 |
306 |
307 | #ifdef COBJMACROS
308 |
309 |
310 | #define INetCfgComponentControl_QueryInterface(This,riid,ppvObject) \
311 | (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
312 |
313 | #define INetCfgComponentControl_AddRef(This) \
314 | (This)->lpVtbl -> AddRef(This)
315 |
316 | #define INetCfgComponentControl_Release(This) \
317 | (This)->lpVtbl -> Release(This)
318 |
319 |
320 | #define INetCfgComponentControl_Initialize(This,pIComp,pINetCfg,fInstalling) \
321 | (This)->lpVtbl -> Initialize(This,pIComp,pINetCfg,fInstalling)
322 |
323 | #define INetCfgComponentControl_ApplyRegistryChanges(This) \
324 | (This)->lpVtbl -> ApplyRegistryChanges(This)
325 |
326 | #define INetCfgComponentControl_ApplyPnpChanges(This,pICallback) \
327 | (This)->lpVtbl -> ApplyPnpChanges(This,pICallback)
328 |
329 | #define INetCfgComponentControl_CancelChanges(This) \
330 | (This)->lpVtbl -> CancelChanges(This)
331 |
332 | #endif /* COBJMACROS */
333 |
334 |
335 | #endif /* C style interface */
336 |
337 |
338 |
339 | HRESULT STDMETHODCALLTYPE INetCfgComponentControl_Initialize_Proxy(
340 | INetCfgComponentControl * This,
341 | /* [in] */ INetCfgComponent *pIComp,
342 | /* [in] */ INetCfg *pINetCfg,
343 | /* [in] */ BOOL fInstalling);
344 |
345 |
346 | void __RPC_STUB INetCfgComponentControl_Initialize_Stub(
347 | IRpcStubBuffer *This,
348 | IRpcChannelBuffer *_pRpcChannelBuffer,
349 | PRPC_MESSAGE _pRpcMessage,
350 | DWORD *_pdwStubPhase);
351 |
352 |
353 | HRESULT STDMETHODCALLTYPE INetCfgComponentControl_ApplyRegistryChanges_Proxy(
354 | INetCfgComponentControl * This);
355 |
356 |
357 | void __RPC_STUB INetCfgComponentControl_ApplyRegistryChanges_Stub(
358 | IRpcStubBuffer *This,
359 | IRpcChannelBuffer *_pRpcChannelBuffer,
360 | PRPC_MESSAGE _pRpcMessage,
361 | DWORD *_pdwStubPhase);
362 |
363 |
364 | HRESULT STDMETHODCALLTYPE INetCfgComponentControl_ApplyPnpChanges_Proxy(
365 | INetCfgComponentControl * This,
366 | /* [in] */ INetCfgPnpReconfigCallback *pICallback);
367 |
368 |
369 | void __RPC_STUB INetCfgComponentControl_ApplyPnpChanges_Stub(
370 | IRpcStubBuffer *This,
371 | IRpcChannelBuffer *_pRpcChannelBuffer,
372 | PRPC_MESSAGE _pRpcMessage,
373 | DWORD *_pdwStubPhase);
374 |
375 |
376 | HRESULT STDMETHODCALLTYPE INetCfgComponentControl_CancelChanges_Proxy(
377 | INetCfgComponentControl * This);
378 |
379 |
380 | void __RPC_STUB INetCfgComponentControl_CancelChanges_Stub(
381 | IRpcStubBuffer *This,
382 | IRpcChannelBuffer *_pRpcChannelBuffer,
383 | PRPC_MESSAGE _pRpcMessage,
384 | DWORD *_pdwStubPhase);
385 |
386 |
387 |
388 | #endif /* __INetCfgComponentControl_INTERFACE_DEFINED__ */
389 |
390 |
391 | #ifndef __INetCfgComponentSetup_INTERFACE_DEFINED__
392 | #define __INetCfgComponentSetup_INTERFACE_DEFINED__
393 |
394 | /* interface INetCfgComponentSetup */
395 | /* [unique][uuid][object][local] */
396 |
397 | typedef /* [v1_enum] */
398 | enum tagNETWORK_INSTALL_TIME
399 | { NSF_PRIMARYINSTALL = 0x1,
400 | NSF_POSTSYSINSTALL = 0x2
401 | } NETWORK_INSTALL_TIME;
402 |
403 | typedef /* [v1_enum] */
404 | enum tagNETWORK_UPGRADE_TYPE
405 | { NSF_WIN16_UPGRADE = 0x10,
406 | NSF_WIN95_UPGRADE = 0x20,
407 | NSF_WINNT_WKS_UPGRADE = 0x40,
408 | NSF_WINNT_SVR_UPGRADE = 0x80,
409 | NSF_WINNT_SBS_UPGRADE = 0x100,
410 | NSF_COMPONENT_UPDATE = 0x200
411 | } NETWORK_UPGRADE_TYPE;
412 |
413 |
414 | EXTERN_C const IID IID_INetCfgComponentSetup;
415 |
416 | #if defined(__cplusplus) && !defined(CINTERFACE)
417 |
418 | MIDL_INTERFACE("932238e3-bea1-11d0-9298-00c04fc99dcf")
419 | INetCfgComponentSetup : public IUnknown
420 | {
421 | public:
422 | virtual HRESULT STDMETHODCALLTYPE Install(
423 | /* [in] */ DWORD dwSetupFlags) = 0;
424 |
425 | virtual HRESULT STDMETHODCALLTYPE Upgrade(
426 | /* [in] */ DWORD dwSetupFlags,
427 | /* [in] */ DWORD dwUpgradeFomBuildNo) = 0;
428 |
429 | virtual HRESULT STDMETHODCALLTYPE ReadAnswerFile(
430 | /* [in] */ LPCWSTR pszwAnswerFile,
431 | /* [in] */ LPCWSTR pszwAnswerSections) = 0;
432 |
433 | virtual HRESULT STDMETHODCALLTYPE Removing( void) = 0;
434 |
435 | };
436 |
437 | #else /* C style interface */
438 |
439 | typedef struct INetCfgComponentSetupVtbl
440 | {
441 | BEGIN_INTERFACE
442 |
443 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
444 | INetCfgComponentSetup * This,
445 | /* [in] */ REFIID riid,
446 | /* [iid_is][out] */ void **ppvObject);
447 |
448 | ULONG ( STDMETHODCALLTYPE *AddRef )(
449 | INetCfgComponentSetup * This);
450 |
451 | ULONG ( STDMETHODCALLTYPE *Release )(
452 | INetCfgComponentSetup * This);
453 |
454 | HRESULT ( STDMETHODCALLTYPE *Install )(
455 | INetCfgComponentSetup * This,
456 | /* [in] */ DWORD dwSetupFlags);
457 |
458 | HRESULT ( STDMETHODCALLTYPE *Upgrade )(
459 | INetCfgComponentSetup * This,
460 | /* [in] */ DWORD dwSetupFlags,
461 | /* [in] */ DWORD dwUpgradeFomBuildNo);
462 |
463 | HRESULT ( STDMETHODCALLTYPE *ReadAnswerFile )(
464 | INetCfgComponentSetup * This,
465 | /* [in] */ LPCWSTR pszwAnswerFile,
466 | /* [in] */ LPCWSTR pszwAnswerSections);
467 |
468 | HRESULT ( STDMETHODCALLTYPE *Removing )(
469 | INetCfgComponentSetup * This);
470 |
471 | END_INTERFACE
472 | } INetCfgComponentSetupVtbl;
473 |
474 | interface INetCfgComponentSetup
475 | {
476 | CONST_VTBL struct INetCfgComponentSetupVtbl *lpVtbl;
477 | };
478 |
479 |
480 |
481 | #ifdef COBJMACROS
482 |
483 |
484 | #define INetCfgComponentSetup_QueryInterface(This,riid,ppvObject) \
485 | (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
486 |
487 | #define INetCfgComponentSetup_AddRef(This) \
488 | (This)->lpVtbl -> AddRef(This)
489 |
490 | #define INetCfgComponentSetup_Release(This) \
491 | (This)->lpVtbl -> Release(This)
492 |
493 |
494 | #define INetCfgComponentSetup_Install(This,dwSetupFlags) \
495 | (This)->lpVtbl -> Install(This,dwSetupFlags)
496 |
497 | #define INetCfgComponentSetup_Upgrade(This,dwSetupFlags,dwUpgradeFomBuildNo) \
498 | (This)->lpVtbl -> Upgrade(This,dwSetupFlags,dwUpgradeFomBuildNo)
499 |
500 | #define INetCfgComponentSetup_ReadAnswerFile(This,pszwAnswerFile,pszwAnswerSections) \
501 | (This)->lpVtbl -> ReadAnswerFile(This,pszwAnswerFile,pszwAnswerSections)
502 |
503 | #define INetCfgComponentSetup_Removing(This) \
504 | (This)->lpVtbl -> Removing(This)
505 |
506 | #endif /* COBJMACROS */
507 |
508 |
509 | #endif /* C style interface */
510 |
511 |
512 |
513 | HRESULT STDMETHODCALLTYPE INetCfgComponentSetup_Install_Proxy(
514 | INetCfgComponentSetup * This,
515 | /* [in] */ DWORD dwSetupFlags);
516 |
517 |
518 | void __RPC_STUB INetCfgComponentSetup_Install_Stub(
519 | IRpcStubBuffer *This,
520 | IRpcChannelBuffer *_pRpcChannelBuffer,
521 | PRPC_MESSAGE _pRpcMessage,
522 | DWORD *_pdwStubPhase);
523 |
524 |
525 | HRESULT STDMETHODCALLTYPE INetCfgComponentSetup_Upgrade_Proxy(
526 | INetCfgComponentSetup * This,
527 | /* [in] */ DWORD dwSetupFlags,
528 | /* [in] */ DWORD dwUpgradeFomBuildNo);
529 |
530 |
531 | void __RPC_STUB INetCfgComponentSetup_Upgrade_Stub(
532 | IRpcStubBuffer *This,
533 | IRpcChannelBuffer *_pRpcChannelBuffer,
534 | PRPC_MESSAGE _pRpcMessage,
535 | DWORD *_pdwStubPhase);
536 |
537 |
538 | HRESULT STDMETHODCALLTYPE INetCfgComponentSetup_ReadAnswerFile_Proxy(
539 | INetCfgComponentSetup * This,
540 | /* [in] */ LPCWSTR pszwAnswerFile,
541 | /* [in] */ LPCWSTR pszwAnswerSections);
542 |
543 |
544 | void __RPC_STUB INetCfgComponentSetup_ReadAnswerFile_Stub(
545 | IRpcStubBuffer *This,
546 | IRpcChannelBuffer *_pRpcChannelBuffer,
547 | PRPC_MESSAGE _pRpcMessage,
548 | DWORD *_pdwStubPhase);
549 |
550 |
551 | HRESULT STDMETHODCALLTYPE INetCfgComponentSetup_Removing_Proxy(
552 | INetCfgComponentSetup * This);
553 |
554 |
555 | void __RPC_STUB INetCfgComponentSetup_Removing_Stub(
556 | IRpcStubBuffer *This,
557 | IRpcChannelBuffer *_pRpcChannelBuffer,
558 | PRPC_MESSAGE _pRpcMessage,
559 | DWORD *_pdwStubPhase);
560 |
561 |
562 |
563 | #endif /* __INetCfgComponentSetup_INTERFACE_DEFINED__ */
564 |
565 |
566 | #ifndef __INetCfgComponentPropertyUi_INTERFACE_DEFINED__
567 | #define __INetCfgComponentPropertyUi_INTERFACE_DEFINED__
568 |
569 | /* interface INetCfgComponentPropertyUi */
570 | /* [unique][uuid][object][local] */
571 |
572 | typedef /* [v1_enum] */
573 | enum tagDEFAULT_PAGES
574 | { DPP_ADVANCED = 1
575 | } DEFAULT_PAGES;
576 |
577 |
578 | EXTERN_C const IID IID_INetCfgComponentPropertyUi;
579 |
580 | #if defined(__cplusplus) && !defined(CINTERFACE)
581 |
582 | MIDL_INTERFACE("932238e0-bea1-11d0-9298-00c04fc99dcf")
583 | INetCfgComponentPropertyUi : public IUnknown
584 | {
585 | public:
586 | virtual HRESULT STDMETHODCALLTYPE QueryPropertyUi(
587 | /* [in] */ IUnknown *pUnkReserved) = 0;
588 |
589 | virtual HRESULT STDMETHODCALLTYPE SetContext(
590 | /* [in] */ IUnknown *pUnkReserved) = 0;
591 |
592 | virtual HRESULT STDMETHODCALLTYPE MergePropPages(
593 | /* [out][in] */ DWORD *pdwDefPages,
594 | /* [out] */ BYTE **pahpspPrivate,
595 | /* [out] */ UINT *pcPages,
596 | /* [in] */ HWND hwndParent,
597 | /* [out] */ LPCWSTR *pszStartPage) = 0;
598 |
599 | virtual HRESULT STDMETHODCALLTYPE ValidateProperties(
600 | /* [in] */ HWND hwndSheet) = 0;
601 |
602 | virtual HRESULT STDMETHODCALLTYPE ApplyProperties( void) = 0;
603 |
604 | virtual HRESULT STDMETHODCALLTYPE CancelProperties( void) = 0;
605 |
606 | };
607 |
608 | #else /* C style interface */
609 |
610 | typedef struct INetCfgComponentPropertyUiVtbl
611 | {
612 | BEGIN_INTERFACE
613 |
614 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
615 | INetCfgComponentPropertyUi * This,
616 | /* [in] */ REFIID riid,
617 | /* [iid_is][out] */ void **ppvObject);
618 |
619 | ULONG ( STDMETHODCALLTYPE *AddRef )(
620 | INetCfgComponentPropertyUi * This);
621 |
622 | ULONG ( STDMETHODCALLTYPE *Release )(
623 | INetCfgComponentPropertyUi * This);
624 |
625 | HRESULT ( STDMETHODCALLTYPE *QueryPropertyUi )(
626 | INetCfgComponentPropertyUi * This,
627 | /* [in] */ IUnknown *pUnkReserved);
628 |
629 | HRESULT ( STDMETHODCALLTYPE *SetContext )(
630 | INetCfgComponentPropertyUi * This,
631 | /* [in] */ IUnknown *pUnkReserved);
632 |
633 | HRESULT ( STDMETHODCALLTYPE *MergePropPages )(
634 | INetCfgComponentPropertyUi * This,
635 | /* [out][in] */ DWORD *pdwDefPages,
636 | /* [out] */ BYTE **pahpspPrivate,
637 | /* [out] */ UINT *pcPages,
638 | /* [in] */ HWND hwndParent,
639 | /* [out] */ LPCWSTR *pszStartPage);
640 |
641 | HRESULT ( STDMETHODCALLTYPE *ValidateProperties )(
642 | INetCfgComponentPropertyUi * This,
643 | /* [in] */ HWND hwndSheet);
644 |
645 | HRESULT ( STDMETHODCALLTYPE *ApplyProperties )(
646 | INetCfgComponentPropertyUi * This);
647 |
648 | HRESULT ( STDMETHODCALLTYPE *CancelProperties )(
649 | INetCfgComponentPropertyUi * This);
650 |
651 | END_INTERFACE
652 | } INetCfgComponentPropertyUiVtbl;
653 |
654 | interface INetCfgComponentPropertyUi
655 | {
656 | CONST_VTBL struct INetCfgComponentPropertyUiVtbl *lpVtbl;
657 | };
658 |
659 |
660 |
661 | #ifdef COBJMACROS
662 |
663 |
664 | #define INetCfgComponentPropertyUi_QueryInterface(This,riid,ppvObject) \
665 | (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
666 |
667 | #define INetCfgComponentPropertyUi_AddRef(This) \
668 | (This)->lpVtbl -> AddRef(This)
669 |
670 | #define INetCfgComponentPropertyUi_Release(This) \
671 | (This)->lpVtbl -> Release(This)
672 |
673 |
674 | #define INetCfgComponentPropertyUi_QueryPropertyUi(This,pUnkReserved) \
675 | (This)->lpVtbl -> QueryPropertyUi(This,pUnkReserved)
676 |
677 | #define INetCfgComponentPropertyUi_SetContext(This,pUnkReserved) \
678 | (This)->lpVtbl -> SetContext(This,pUnkReserved)
679 |
680 | #define INetCfgComponentPropertyUi_MergePropPages(This,pdwDefPages,pahpspPrivate,pcPages,hwndParent,pszStartPage) \
681 | (This)->lpVtbl -> MergePropPages(This,pdwDefPages,pahpspPrivate,pcPages,hwndParent,pszStartPage)
682 |
683 | #define INetCfgComponentPropertyUi_ValidateProperties(This,hwndSheet) \
684 | (This)->lpVtbl -> ValidateProperties(This,hwndSheet)
685 |
686 | #define INetCfgComponentPropertyUi_ApplyProperties(This) \
687 | (This)->lpVtbl -> ApplyProperties(This)
688 |
689 | #define INetCfgComponentPropertyUi_CancelProperties(This) \
690 | (This)->lpVtbl -> CancelProperties(This)
691 |
692 | #endif /* COBJMACROS */
693 |
694 |
695 | #endif /* C style interface */
696 |
697 |
698 |
699 | HRESULT STDMETHODCALLTYPE INetCfgComponentPropertyUi_QueryPropertyUi_Proxy(
700 | INetCfgComponentPropertyUi * This,
701 | /* [in] */ IUnknown *pUnkReserved);
702 |
703 |
704 | void __RPC_STUB INetCfgComponentPropertyUi_QueryPropertyUi_Stub(
705 | IRpcStubBuffer *This,
706 | IRpcChannelBuffer *_pRpcChannelBuffer,
707 | PRPC_MESSAGE _pRpcMessage,
708 | DWORD *_pdwStubPhase);
709 |
710 |
711 | HRESULT STDMETHODCALLTYPE INetCfgComponentPropertyUi_SetContext_Proxy(
712 | INetCfgComponentPropertyUi * This,
713 | /* [in] */ IUnknown *pUnkReserved);
714 |
715 |
716 | void __RPC_STUB INetCfgComponentPropertyUi_SetContext_Stub(
717 | IRpcStubBuffer *This,
718 | IRpcChannelBuffer *_pRpcChannelBuffer,
719 | PRPC_MESSAGE _pRpcMessage,
720 | DWORD *_pdwStubPhase);
721 |
722 |
723 | HRESULT STDMETHODCALLTYPE INetCfgComponentPropertyUi_MergePropPages_Proxy(
724 | INetCfgComponentPropertyUi * This,
725 | /* [out][in] */ DWORD *pdwDefPages,
726 | /* [out] */ BYTE **pahpspPrivate,
727 | /* [out] */ UINT *pcPages,
728 | /* [in] */ HWND hwndParent,
729 | /* [out] */ LPCWSTR *pszStartPage);
730 |
731 |
732 | void __RPC_STUB INetCfgComponentPropertyUi_MergePropPages_Stub(
733 | IRpcStubBuffer *This,
734 | IRpcChannelBuffer *_pRpcChannelBuffer,
735 | PRPC_MESSAGE _pRpcMessage,
736 | DWORD *_pdwStubPhase);
737 |
738 |
739 | HRESULT STDMETHODCALLTYPE INetCfgComponentPropertyUi_ValidateProperties_Proxy(
740 | INetCfgComponentPropertyUi * This,
741 | /* [in] */ HWND hwndSheet);
742 |
743 |
744 | void __RPC_STUB INetCfgComponentPropertyUi_ValidateProperties_Stub(
745 | IRpcStubBuffer *This,
746 | IRpcChannelBuffer *_pRpcChannelBuffer,
747 | PRPC_MESSAGE _pRpcMessage,
748 | DWORD *_pdwStubPhase);
749 |
750 |
751 | HRESULT STDMETHODCALLTYPE INetCfgComponentPropertyUi_ApplyProperties_Proxy(
752 | INetCfgComponentPropertyUi * This);
753 |
754 |
755 | void __RPC_STUB INetCfgComponentPropertyUi_ApplyProperties_Stub(
756 | IRpcStubBuffer *This,
757 | IRpcChannelBuffer *_pRpcChannelBuffer,
758 | PRPC_MESSAGE _pRpcMessage,
759 | DWORD *_pdwStubPhase);
760 |
761 |
762 | HRESULT STDMETHODCALLTYPE INetCfgComponentPropertyUi_CancelProperties_Proxy(
763 | INetCfgComponentPropertyUi * This);
764 |
765 |
766 | void __RPC_STUB INetCfgComponentPropertyUi_CancelProperties_Stub(
767 | IRpcStubBuffer *This,
768 | IRpcChannelBuffer *_pRpcChannelBuffer,
769 | PRPC_MESSAGE _pRpcMessage,
770 | DWORD *_pdwStubPhase);
771 |
772 |
773 |
774 | #endif /* __INetCfgComponentPropertyUi_INTERFACE_DEFINED__ */
775 |
776 |
777 | #ifndef __INetCfgComponentNotifyBinding_INTERFACE_DEFINED__
778 | #define __INetCfgComponentNotifyBinding_INTERFACE_DEFINED__
779 |
780 | /* interface INetCfgComponentNotifyBinding */
781 | /* [unique][uuid][object][local] */
782 |
783 | typedef /* [v1_enum] */
784 | enum tagBIND_FLAGS1
785 | { NCN_ADD = 0x1,
786 | NCN_REMOVE = 0x2,
787 | NCN_UPDATE = 0x4,
788 | NCN_ENABLE = 0x10,
789 | NCN_DISABLE = 0x20,
790 | NCN_BINDING_PATH = 0x100,
791 | NCN_PROPERTYCHANGE = 0x200,
792 | NCN_NET = 0x10000,
793 | NCN_NETTRANS = 0x20000,
794 | NCN_NETCLIENT = 0x40000,
795 | NCN_NETSERVICE = 0x80000
796 | } BIND_FLAGS1;
797 |
798 |
799 | EXTERN_C const IID IID_INetCfgComponentNotifyBinding;
800 |
801 | #if defined(__cplusplus) && !defined(CINTERFACE)
802 |
803 | MIDL_INTERFACE("932238e1-bea1-11d0-9298-00c04fc99dcf")
804 | INetCfgComponentNotifyBinding : public IUnknown
805 | {
806 | public:
807 | virtual HRESULT STDMETHODCALLTYPE QueryBindingPath(
808 | /* [in] */ DWORD dwChangeFlag,
809 | /* [in] */ INetCfgBindingPath *pIPath) = 0;
810 |
811 | virtual HRESULT STDMETHODCALLTYPE NotifyBindingPath(
812 | /* [in] */ DWORD dwChangeFlag,
813 | /* [in] */ INetCfgBindingPath *pIPath) = 0;
814 |
815 | };
816 |
817 | #else /* C style interface */
818 |
819 | typedef struct INetCfgComponentNotifyBindingVtbl
820 | {
821 | BEGIN_INTERFACE
822 |
823 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
824 | INetCfgComponentNotifyBinding * This,
825 | /* [in] */ REFIID riid,
826 | /* [iid_is][out] */ void **ppvObject);
827 |
828 | ULONG ( STDMETHODCALLTYPE *AddRef )(
829 | INetCfgComponentNotifyBinding * This);
830 |
831 | ULONG ( STDMETHODCALLTYPE *Release )(
832 | INetCfgComponentNotifyBinding * This);
833 |
834 | HRESULT ( STDMETHODCALLTYPE *QueryBindingPath )(
835 | INetCfgComponentNotifyBinding * This,
836 | /* [in] */ DWORD dwChangeFlag,
837 | /* [in] */ INetCfgBindingPath *pIPath);
838 |
839 | HRESULT ( STDMETHODCALLTYPE *NotifyBindingPath )(
840 | INetCfgComponentNotifyBinding * This,
841 | /* [in] */ DWORD dwChangeFlag,
842 | /* [in] */ INetCfgBindingPath *pIPath);
843 |
844 | END_INTERFACE
845 | } INetCfgComponentNotifyBindingVtbl;
846 |
847 | interface INetCfgComponentNotifyBinding
848 | {
849 | CONST_VTBL struct INetCfgComponentNotifyBindingVtbl *lpVtbl;
850 | };
851 |
852 |
853 |
854 | #ifdef COBJMACROS
855 |
856 |
857 | #define INetCfgComponentNotifyBinding_QueryInterface(This,riid,ppvObject) \
858 | (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
859 |
860 | #define INetCfgComponentNotifyBinding_AddRef(This) \
861 | (This)->lpVtbl -> AddRef(This)
862 |
863 | #define INetCfgComponentNotifyBinding_Release(This) \
864 | (This)->lpVtbl -> Release(This)
865 |
866 |
867 | #define INetCfgComponentNotifyBinding_QueryBindingPath(This,dwChangeFlag,pIPath) \
868 | (This)->lpVtbl -> QueryBindingPath(This,dwChangeFlag,pIPath)
869 |
870 | #define INetCfgComponentNotifyBinding_NotifyBindingPath(This,dwChangeFlag,pIPath) \
871 | (This)->lpVtbl -> NotifyBindingPath(This,dwChangeFlag,pIPath)
872 |
873 | #endif /* COBJMACROS */
874 |
875 |
876 | #endif /* C style interface */
877 |
878 |
879 |
880 | HRESULT STDMETHODCALLTYPE INetCfgComponentNotifyBinding_QueryBindingPath_Proxy(
881 | INetCfgComponentNotifyBinding * This,
882 | /* [in] */ DWORD dwChangeFlag,
883 | /* [in] */ INetCfgBindingPath *pIPath);
884 |
885 |
886 | void __RPC_STUB INetCfgComponentNotifyBinding_QueryBindingPath_Stub(
887 | IRpcStubBuffer *This,
888 | IRpcChannelBuffer *_pRpcChannelBuffer,
889 | PRPC_MESSAGE _pRpcMessage,
890 | DWORD *_pdwStubPhase);
891 |
892 |
893 | HRESULT STDMETHODCALLTYPE INetCfgComponentNotifyBinding_NotifyBindingPath_Proxy(
894 | INetCfgComponentNotifyBinding * This,
895 | /* [in] */ DWORD dwChangeFlag,
896 | /* [in] */ INetCfgBindingPath *pIPath);
897 |
898 |
899 | void __RPC_STUB INetCfgComponentNotifyBinding_NotifyBindingPath_Stub(
900 | IRpcStubBuffer *This,
901 | IRpcChannelBuffer *_pRpcChannelBuffer,
902 | PRPC_MESSAGE _pRpcMessage,
903 | DWORD *_pdwStubPhase);
904 |
905 |
906 |
907 | #endif /* __INetCfgComponentNotifyBinding_INTERFACE_DEFINED__ */
908 |
909 |
910 | #ifndef __INetCfgComponentNotifyGlobal_INTERFACE_DEFINED__
911 | #define __INetCfgComponentNotifyGlobal_INTERFACE_DEFINED__
912 |
913 | /* interface INetCfgComponentNotifyGlobal */
914 | /* [unique][uuid][object][local] */
915 |
916 |
917 | EXTERN_C const IID IID_INetCfgComponentNotifyGlobal;
918 |
919 | #if defined(__cplusplus) && !defined(CINTERFACE)
920 |
921 | MIDL_INTERFACE("932238e2-bea1-11d0-9298-00c04fc99dcf")
922 | INetCfgComponentNotifyGlobal : public IUnknown
923 | {
924 | public:
925 | virtual HRESULT STDMETHODCALLTYPE GetSupportedNotifications(
926 | /* [out] */ DWORD *dwNotifications) = 0;
927 |
928 | virtual HRESULT STDMETHODCALLTYPE SysQueryBindingPath(
929 | /* [in] */ DWORD dwChangeFlag,
930 | /* [in] */ INetCfgBindingPath *pIPath) = 0;
931 |
932 | virtual HRESULT STDMETHODCALLTYPE SysNotifyBindingPath(
933 | /* [in] */ DWORD dwChangeFlag,
934 | /* [in] */ INetCfgBindingPath *pIPath) = 0;
935 |
936 | virtual HRESULT STDMETHODCALLTYPE SysNotifyComponent(
937 | /* [in] */ DWORD dwChangeFlag,
938 | /* [in] */ INetCfgComponent *pIComp) = 0;
939 |
940 | };
941 |
942 | #else /* C style interface */
943 |
944 | typedef struct INetCfgComponentNotifyGlobalVtbl
945 | {
946 | BEGIN_INTERFACE
947 |
948 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
949 | INetCfgComponentNotifyGlobal * This,
950 | /* [in] */ REFIID riid,
951 | /* [iid_is][out] */ void **ppvObject);
952 |
953 | ULONG ( STDMETHODCALLTYPE *AddRef )(
954 | INetCfgComponentNotifyGlobal * This);
955 |
956 | ULONG ( STDMETHODCALLTYPE *Release )(
957 | INetCfgComponentNotifyGlobal * This);
958 |
959 | HRESULT ( STDMETHODCALLTYPE *GetSupportedNotifications )(
960 | INetCfgComponentNotifyGlobal * This,
961 | /* [out] */ DWORD *dwNotifications);
962 |
963 | HRESULT ( STDMETHODCALLTYPE *SysQueryBindingPath )(
964 | INetCfgComponentNotifyGlobal * This,
965 | /* [in] */ DWORD dwChangeFlag,
966 | /* [in] */ INetCfgBindingPath *pIPath);
967 |
968 | HRESULT ( STDMETHODCALLTYPE *SysNotifyBindingPath )(
969 | INetCfgComponentNotifyGlobal * This,
970 | /* [in] */ DWORD dwChangeFlag,
971 | /* [in] */ INetCfgBindingPath *pIPath);
972 |
973 | HRESULT ( STDMETHODCALLTYPE *SysNotifyComponent )(
974 | INetCfgComponentNotifyGlobal * This,
975 | /* [in] */ DWORD dwChangeFlag,
976 | /* [in] */ INetCfgComponent *pIComp);
977 |
978 | END_INTERFACE
979 | } INetCfgComponentNotifyGlobalVtbl;
980 |
981 | interface INetCfgComponentNotifyGlobal
982 | {
983 | CONST_VTBL struct INetCfgComponentNotifyGlobalVtbl *lpVtbl;
984 | };
985 |
986 |
987 |
988 | #ifdef COBJMACROS
989 |
990 |
991 | #define INetCfgComponentNotifyGlobal_QueryInterface(This,riid,ppvObject) \
992 | (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
993 |
994 | #define INetCfgComponentNotifyGlobal_AddRef(This) \
995 | (This)->lpVtbl -> AddRef(This)
996 |
997 | #define INetCfgComponentNotifyGlobal_Release(This) \
998 | (This)->lpVtbl -> Release(This)
999 |
1000 |
1001 | #define INetCfgComponentNotifyGlobal_GetSupportedNotifications(This,dwNotifications) \
1002 | (This)->lpVtbl -> GetSupportedNotifications(This,dwNotifications)
1003 |
1004 | #define INetCfgComponentNotifyGlobal_SysQueryBindingPath(This,dwChangeFlag,pIPath) \
1005 | (This)->lpVtbl -> SysQueryBindingPath(This,dwChangeFlag,pIPath)
1006 |
1007 | #define INetCfgComponentNotifyGlobal_SysNotifyBindingPath(This,dwChangeFlag,pIPath) \
1008 | (This)->lpVtbl -> SysNotifyBindingPath(This,dwChangeFlag,pIPath)
1009 |
1010 | #define INetCfgComponentNotifyGlobal_SysNotifyComponent(This,dwChangeFlag,pIComp) \
1011 | (This)->lpVtbl -> SysNotifyComponent(This,dwChangeFlag,pIComp)
1012 |
1013 | #endif /* COBJMACROS */
1014 |
1015 |
1016 | #endif /* C style interface */
1017 |
1018 |
1019 |
1020 | HRESULT STDMETHODCALLTYPE INetCfgComponentNotifyGlobal_GetSupportedNotifications_Proxy(
1021 | INetCfgComponentNotifyGlobal * This,
1022 | /* [out] */ DWORD *dwNotifications);
1023 |
1024 |
1025 | void __RPC_STUB INetCfgComponentNotifyGlobal_GetSupportedNotifications_Stub(
1026 | IRpcStubBuffer *This,
1027 | IRpcChannelBuffer *_pRpcChannelBuffer,
1028 | PRPC_MESSAGE _pRpcMessage,
1029 | DWORD *_pdwStubPhase);
1030 |
1031 |
1032 | HRESULT STDMETHODCALLTYPE INetCfgComponentNotifyGlobal_SysQueryBindingPath_Proxy(
1033 | INetCfgComponentNotifyGlobal * This,
1034 | /* [in] */ DWORD dwChangeFlag,
1035 | /* [in] */ INetCfgBindingPath *pIPath);
1036 |
1037 |
1038 | void __RPC_STUB INetCfgComponentNotifyGlobal_SysQueryBindingPath_Stub(
1039 | IRpcStubBuffer *This,
1040 | IRpcChannelBuffer *_pRpcChannelBuffer,
1041 | PRPC_MESSAGE _pRpcMessage,
1042 | DWORD *_pdwStubPhase);
1043 |
1044 |
1045 | HRESULT STDMETHODCALLTYPE INetCfgComponentNotifyGlobal_SysNotifyBindingPath_Proxy(
1046 | INetCfgComponentNotifyGlobal * This,
1047 | /* [in] */ DWORD dwChangeFlag,
1048 | /* [in] */ INetCfgBindingPath *pIPath);
1049 |
1050 |
1051 | void __RPC_STUB INetCfgComponentNotifyGlobal_SysNotifyBindingPath_Stub(
1052 | IRpcStubBuffer *This,
1053 | IRpcChannelBuffer *_pRpcChannelBuffer,
1054 | PRPC_MESSAGE _pRpcMessage,
1055 | DWORD *_pdwStubPhase);
1056 |
1057 |
1058 | HRESULT STDMETHODCALLTYPE INetCfgComponentNotifyGlobal_SysNotifyComponent_Proxy(
1059 | INetCfgComponentNotifyGlobal * This,
1060 | /* [in] */ DWORD dwChangeFlag,
1061 | /* [in] */ INetCfgComponent *pIComp);
1062 |
1063 |
1064 | void __RPC_STUB INetCfgComponentNotifyGlobal_SysNotifyComponent_Stub(
1065 | IRpcStubBuffer *This,
1066 | IRpcChannelBuffer *_pRpcChannelBuffer,
1067 | PRPC_MESSAGE _pRpcMessage,
1068 | DWORD *_pdwStubPhase);
1069 |
1070 |
1071 |
1072 | #endif /* __INetCfgComponentNotifyGlobal_INTERFACE_DEFINED__ */
1073 |
1074 |
1075 | #ifndef __INetCfgComponentUpperEdge_INTERFACE_DEFINED__
1076 | #define __INetCfgComponentUpperEdge_INTERFACE_DEFINED__
1077 |
1078 | /* interface INetCfgComponentUpperEdge */
1079 | /* [unique][uuid][object][local] */
1080 |
1081 |
1082 | EXTERN_C const IID IID_INetCfgComponentUpperEdge;
1083 |
1084 | #if defined(__cplusplus) && !defined(CINTERFACE)
1085 |
1086 | MIDL_INTERFACE("932238e4-bea1-11d0-9298-00c04fc99dcf")
1087 | INetCfgComponentUpperEdge : public IUnknown
1088 | {
1089 | public:
1090 | virtual HRESULT STDMETHODCALLTYPE GetInterfaceIdsForAdapter(
1091 | /* [in] */ INetCfgComponent *pAdapter,
1092 | /* [out] */ DWORD *pdwNumInterfaces,
1093 | /* [out] */ GUID **ppguidInterfaceIds) = 0;
1094 |
1095 | virtual HRESULT STDMETHODCALLTYPE AddInterfacesToAdapter(
1096 | /* [in] */ INetCfgComponent *pAdapter,
1097 | /* [in] */ DWORD dwNumInterfaces) = 0;
1098 |
1099 | virtual HRESULT STDMETHODCALLTYPE RemoveInterfacesFromAdapter(
1100 | /* [in] */ INetCfgComponent *pAdapter,
1101 | /* [in] */ DWORD dwNumInterfaces,
1102 | /* [in] */ const GUID *pguidInterfaceIds) = 0;
1103 |
1104 | };
1105 |
1106 | #else /* C style interface */
1107 |
1108 | typedef struct INetCfgComponentUpperEdgeVtbl
1109 | {
1110 | BEGIN_INTERFACE
1111 |
1112 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1113 | INetCfgComponentUpperEdge * This,
1114 | /* [in] */ REFIID riid,
1115 | /* [iid_is][out] */ void **ppvObject);
1116 |
1117 | ULONG ( STDMETHODCALLTYPE *AddRef )(
1118 | INetCfgComponentUpperEdge * This);
1119 |
1120 | ULONG ( STDMETHODCALLTYPE *Release )(
1121 | INetCfgComponentUpperEdge * This);
1122 |
1123 | HRESULT ( STDMETHODCALLTYPE *GetInterfaceIdsForAdapter )(
1124 | INetCfgComponentUpperEdge * This,
1125 | /* [in] */ INetCfgComponent *pAdapter,
1126 | /* [out] */ DWORD *pdwNumInterfaces,
1127 | /* [out] */ GUID **ppguidInterfaceIds);
1128 |
1129 | HRESULT ( STDMETHODCALLTYPE *AddInterfacesToAdapter )(
1130 | INetCfgComponentUpperEdge * This,
1131 | /* [in] */ INetCfgComponent *pAdapter,
1132 | /* [in] */ DWORD dwNumInterfaces);
1133 |
1134 | HRESULT ( STDMETHODCALLTYPE *RemoveInterfacesFromAdapter )(
1135 | INetCfgComponentUpperEdge * This,
1136 | /* [in] */ INetCfgComponent *pAdapter,
1137 | /* [in] */ DWORD dwNumInterfaces,
1138 | /* [in] */ const GUID *pguidInterfaceIds);
1139 |
1140 | END_INTERFACE
1141 | } INetCfgComponentUpperEdgeVtbl;
1142 |
1143 | interface INetCfgComponentUpperEdge
1144 | {
1145 | CONST_VTBL struct INetCfgComponentUpperEdgeVtbl *lpVtbl;
1146 | };
1147 |
1148 |
1149 |
1150 | #ifdef COBJMACROS
1151 |
1152 |
1153 | #define INetCfgComponentUpperEdge_QueryInterface(This,riid,ppvObject) \
1154 | (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
1155 |
1156 | #define INetCfgComponentUpperEdge_AddRef(This) \
1157 | (This)->lpVtbl -> AddRef(This)
1158 |
1159 | #define INetCfgComponentUpperEdge_Release(This) \
1160 | (This)->lpVtbl -> Release(This)
1161 |
1162 |
1163 | #define INetCfgComponentUpperEdge_GetInterfaceIdsForAdapter(This,pAdapter,pdwNumInterfaces,ppguidInterfaceIds) \
1164 | (This)->lpVtbl -> GetInterfaceIdsForAdapter(This,pAdapter,pdwNumInterfaces,ppguidInterfaceIds)
1165 |
1166 | #define INetCfgComponentUpperEdge_AddInterfacesToAdapter(This,pAdapter,dwNumInterfaces) \
1167 | (This)->lpVtbl -> AddInterfacesToAdapter(This,pAdapter,dwNumInterfaces)
1168 |
1169 | #define INetCfgComponentUpperEdge_RemoveInterfacesFromAdapter(This,pAdapter,dwNumInterfaces,pguidInterfaceIds) \
1170 | (This)->lpVtbl -> RemoveInterfacesFromAdapter(This,pAdapter,dwNumInterfaces,pguidInterfaceIds)
1171 |
1172 | #endif /* COBJMACROS */
1173 |
1174 |
1175 | #endif /* C style interface */
1176 |
1177 |
1178 |
1179 | HRESULT STDMETHODCALLTYPE INetCfgComponentUpperEdge_GetInterfaceIdsForAdapter_Proxy(
1180 | INetCfgComponentUpperEdge * This,
1181 | /* [in] */ INetCfgComponent *pAdapter,
1182 | /* [out] */ DWORD *pdwNumInterfaces,
1183 | /* [out] */ GUID **ppguidInterfaceIds);
1184 |
1185 |
1186 | void __RPC_STUB INetCfgComponentUpperEdge_GetInterfaceIdsForAdapter_Stub(
1187 | IRpcStubBuffer *This,
1188 | IRpcChannelBuffer *_pRpcChannelBuffer,
1189 | PRPC_MESSAGE _pRpcMessage,
1190 | DWORD *_pdwStubPhase);
1191 |
1192 |
1193 | HRESULT STDMETHODCALLTYPE INetCfgComponentUpperEdge_AddInterfacesToAdapter_Proxy(
1194 | INetCfgComponentUpperEdge * This,
1195 | /* [in] */ INetCfgComponent *pAdapter,
1196 | /* [in] */ DWORD dwNumInterfaces);
1197 |
1198 |
1199 | void __RPC_STUB INetCfgComponentUpperEdge_AddInterfacesToAdapter_Stub(
1200 | IRpcStubBuffer *This,
1201 | IRpcChannelBuffer *_pRpcChannelBuffer,
1202 | PRPC_MESSAGE _pRpcMessage,
1203 | DWORD *_pdwStubPhase);
1204 |
1205 |
1206 | HRESULT STDMETHODCALLTYPE INetCfgComponentUpperEdge_RemoveInterfacesFromAdapter_Proxy(
1207 | INetCfgComponentUpperEdge * This,
1208 | /* [in] */ INetCfgComponent *pAdapter,
1209 | /* [in] */ DWORD dwNumInterfaces,
1210 | /* [in] */ const GUID *pguidInterfaceIds);
1211 |
1212 |
1213 | void __RPC_STUB INetCfgComponentUpperEdge_RemoveInterfacesFromAdapter_Stub(
1214 | IRpcStubBuffer *This,
1215 | IRpcChannelBuffer *_pRpcChannelBuffer,
1216 | PRPC_MESSAGE _pRpcMessage,
1217 | DWORD *_pdwStubPhase);
1218 |
1219 |
1220 |
1221 | #endif /* __INetCfgComponentUpperEdge_INTERFACE_DEFINED__ */
1222 |
1223 |
1224 | #ifndef __INetLanConnectionUiInfo_INTERFACE_DEFINED__
1225 | #define __INetLanConnectionUiInfo_INTERFACE_DEFINED__
1226 |
1227 | /* interface INetLanConnectionUiInfo */
1228 | /* [unique][uuid][object] */
1229 |
1230 |
1231 | EXTERN_C const IID IID_INetLanConnectionUiInfo;
1232 |
1233 | #if defined(__cplusplus) && !defined(CINTERFACE)
1234 |
1235 | MIDL_INTERFACE("C08956A6-1CD3-11D1-B1C5-00805FC1270E")
1236 | INetLanConnectionUiInfo : public IUnknown
1237 | {
1238 | public:
1239 | virtual HRESULT STDMETHODCALLTYPE GetDeviceGuid(
1240 | /* [out] */ GUID *pguid) = 0;
1241 |
1242 | };
1243 |
1244 | #else /* C style interface */
1245 |
1246 | typedef struct INetLanConnectionUiInfoVtbl
1247 | {
1248 | BEGIN_INTERFACE
1249 |
1250 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1251 | INetLanConnectionUiInfo * This,
1252 | /* [in] */ REFIID riid,
1253 | /* [iid_is][out] */ void **ppvObject);
1254 |
1255 | ULONG ( STDMETHODCALLTYPE *AddRef )(
1256 | INetLanConnectionUiInfo * This);
1257 |
1258 | ULONG ( STDMETHODCALLTYPE *Release )(
1259 | INetLanConnectionUiInfo * This);
1260 |
1261 | HRESULT ( STDMETHODCALLTYPE *GetDeviceGuid )(
1262 | INetLanConnectionUiInfo * This,
1263 | /* [out] */ GUID *pguid);
1264 |
1265 | END_INTERFACE
1266 | } INetLanConnectionUiInfoVtbl;
1267 |
1268 | interface INetLanConnectionUiInfo
1269 | {
1270 | CONST_VTBL struct INetLanConnectionUiInfoVtbl *lpVtbl;
1271 | };
1272 |
1273 |
1274 |
1275 | #ifdef COBJMACROS
1276 |
1277 |
1278 | #define INetLanConnectionUiInfo_QueryInterface(This,riid,ppvObject) \
1279 | (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
1280 |
1281 | #define INetLanConnectionUiInfo_AddRef(This) \
1282 | (This)->lpVtbl -> AddRef(This)
1283 |
1284 | #define INetLanConnectionUiInfo_Release(This) \
1285 | (This)->lpVtbl -> Release(This)
1286 |
1287 |
1288 | #define INetLanConnectionUiInfo_GetDeviceGuid(This,pguid) \
1289 | (This)->lpVtbl -> GetDeviceGuid(This,pguid)
1290 |
1291 | #endif /* COBJMACROS */
1292 |
1293 |
1294 | #endif /* C style interface */
1295 |
1296 |
1297 |
1298 | HRESULT STDMETHODCALLTYPE INetLanConnectionUiInfo_GetDeviceGuid_Proxy(
1299 | INetLanConnectionUiInfo * This,
1300 | /* [out] */ GUID *pguid);
1301 |
1302 |
1303 | void __RPC_STUB INetLanConnectionUiInfo_GetDeviceGuid_Stub(
1304 | IRpcStubBuffer *This,
1305 | IRpcChannelBuffer *_pRpcChannelBuffer,
1306 | PRPC_MESSAGE _pRpcMessage,
1307 | DWORD *_pdwStubPhase);
1308 |
1309 |
1310 |
1311 | #endif /* __INetLanConnectionUiInfo_INTERFACE_DEFINED__ */
1312 |
1313 |
1314 | #ifndef __INetCfgComponentSysPrep_INTERFACE_DEFINED__
1315 | #define __INetCfgComponentSysPrep_INTERFACE_DEFINED__
1316 |
1317 | /* interface INetCfgComponentSysPrep */
1318 | /* [unique][uuid][object][local] */
1319 |
1320 |
1321 | EXTERN_C const IID IID_INetCfgComponentSysPrep;
1322 |
1323 | #if defined(__cplusplus) && !defined(CINTERFACE)
1324 |
1325 | MIDL_INTERFACE("C0E8AE9A-306E-11D1-AACF-00805FC1270E")
1326 | INetCfgComponentSysPrep : public IUnknown
1327 | {
1328 | public:
1329 | virtual HRESULT STDMETHODCALLTYPE SaveAdapterParameters(
1330 | /* [in] */ INetCfgSysPrep *pncsp,
1331 | /* [in] */ LPCWSTR pszwAnswerSections,
1332 | /* [in] */ GUID *pAdapterInstanceGuid) = 0;
1333 |
1334 | virtual HRESULT STDMETHODCALLTYPE RestoreAdapterParameters(
1335 | /* [in] */ LPCWSTR pszwAnswerFile,
1336 | /* [in] */ LPCWSTR pszwAnswerSection,
1337 | /* [in] */ GUID *pAdapterInstanceGuid) = 0;
1338 |
1339 | };
1340 |
1341 | #else /* C style interface */
1342 |
1343 | typedef struct INetCfgComponentSysPrepVtbl
1344 | {
1345 | BEGIN_INTERFACE
1346 |
1347 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1348 | INetCfgComponentSysPrep * This,
1349 | /* [in] */ REFIID riid,
1350 | /* [iid_is][out] */ void **ppvObject);
1351 |
1352 | ULONG ( STDMETHODCALLTYPE *AddRef )(
1353 | INetCfgComponentSysPrep * This);
1354 |
1355 | ULONG ( STDMETHODCALLTYPE *Release )(
1356 | INetCfgComponentSysPrep * This);
1357 |
1358 | HRESULT ( STDMETHODCALLTYPE *SaveAdapterParameters )(
1359 | INetCfgComponentSysPrep * This,
1360 | /* [in] */ INetCfgSysPrep *pncsp,
1361 | /* [in] */ LPCWSTR pszwAnswerSections,
1362 | /* [in] */ GUID *pAdapterInstanceGuid);
1363 |
1364 | HRESULT ( STDMETHODCALLTYPE *RestoreAdapterParameters )(
1365 | INetCfgComponentSysPrep * This,
1366 | /* [in] */ LPCWSTR pszwAnswerFile,
1367 | /* [in] */ LPCWSTR pszwAnswerSection,
1368 | /* [in] */ GUID *pAdapterInstanceGuid);
1369 |
1370 | END_INTERFACE
1371 | } INetCfgComponentSysPrepVtbl;
1372 |
1373 | interface INetCfgComponentSysPrep
1374 | {
1375 | CONST_VTBL struct INetCfgComponentSysPrepVtbl *lpVtbl;
1376 | };
1377 |
1378 |
1379 |
1380 | #ifdef COBJMACROS
1381 |
1382 |
1383 | #define INetCfgComponentSysPrep_QueryInterface(This,riid,ppvObject) \
1384 | (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
1385 |
1386 | #define INetCfgComponentSysPrep_AddRef(This) \
1387 | (This)->lpVtbl -> AddRef(This)
1388 |
1389 | #define INetCfgComponentSysPrep_Release(This) \
1390 | (This)->lpVtbl -> Release(This)
1391 |
1392 |
1393 | #define INetCfgComponentSysPrep_SaveAdapterParameters(This,pncsp,pszwAnswerSections,pAdapterInstanceGuid) \
1394 | (This)->lpVtbl -> SaveAdapterParameters(This,pncsp,pszwAnswerSections,pAdapterInstanceGuid)
1395 |
1396 | #define INetCfgComponentSysPrep_RestoreAdapterParameters(This,pszwAnswerFile,pszwAnswerSection,pAdapterInstanceGuid) \
1397 | (This)->lpVtbl -> RestoreAdapterParameters(This,pszwAnswerFile,pszwAnswerSection,pAdapterInstanceGuid)
1398 |
1399 | #endif /* COBJMACROS */
1400 |
1401 |
1402 | #endif /* C style interface */
1403 |
1404 |
1405 |
1406 | HRESULT STDMETHODCALLTYPE INetCfgComponentSysPrep_SaveAdapterParameters_Proxy(
1407 | INetCfgComponentSysPrep * This,
1408 | /* [in] */ INetCfgSysPrep *pncsp,
1409 | /* [in] */ LPCWSTR pszwAnswerSections,
1410 | /* [in] */ GUID *pAdapterInstanceGuid);
1411 |
1412 |
1413 | void __RPC_STUB INetCfgComponentSysPrep_SaveAdapterParameters_Stub(
1414 | IRpcStubBuffer *This,
1415 | IRpcChannelBuffer *_pRpcChannelBuffer,
1416 | PRPC_MESSAGE _pRpcMessage,
1417 | DWORD *_pdwStubPhase);
1418 |
1419 |
1420 | HRESULT STDMETHODCALLTYPE INetCfgComponentSysPrep_RestoreAdapterParameters_Proxy(
1421 | INetCfgComponentSysPrep * This,
1422 | /* [in] */ LPCWSTR pszwAnswerFile,
1423 | /* [in] */ LPCWSTR pszwAnswerSection,
1424 | /* [in] */ GUID *pAdapterInstanceGuid);
1425 |
1426 |
1427 | void __RPC_STUB INetCfgComponentSysPrep_RestoreAdapterParameters_Stub(
1428 | IRpcStubBuffer *This,
1429 | IRpcChannelBuffer *_pRpcChannelBuffer,
1430 | PRPC_MESSAGE _pRpcMessage,
1431 | DWORD *_pdwStubPhase);
1432 |
1433 |
1434 |
1435 | #endif /* __INetCfgComponentSysPrep_INTERFACE_DEFINED__ */
1436 |
1437 |
1438 | /* Additional Prototypes for ALL interfaces */
1439 |
1440 | /* end of Additional Prototypes */
1441 |
1442 | #ifdef __cplusplus
1443 | }
1444 | #endif
1445 |
1446 | #endif
1447 |
1448 |
1449 |
1450 |
--------------------------------------------------------------------------------
/TcpStack/packet.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/packet.cpp
--------------------------------------------------------------------------------
/TcpStack/packet.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/packet.h
--------------------------------------------------------------------------------
/TcpStack/res/TcpStack.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/res/TcpStack.ico
--------------------------------------------------------------------------------
/TcpStack/res/TcpStack.rc2:
--------------------------------------------------------------------------------
1 | //
2 | // TCPSTACK.RC2 - resources Microsoft Visual C++ does not edit directly
3 | //
4 |
5 | #ifdef APSTUDIO_INVOKED
6 | #error this file is not editable by Microsoft Visual C++
7 | #endif //APSTUDIO_INVOKED
8 |
9 |
10 | /////////////////////////////////////////////////////////////////////////////
11 | // Add manually edited resources here...
12 |
13 | /////////////////////////////////////////////////////////////////////////////
14 |
--------------------------------------------------------------------------------
/TcpStack/res/TcpStack1.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/res/TcpStack1.ico
--------------------------------------------------------------------------------
/TcpStack/res/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/res/Thumbs.db
--------------------------------------------------------------------------------
/TcpStack/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Developer Studio generated include file.
3 | // Used by TcpStack.rc
4 | //
5 | #define IDB_CONNECT 3
6 | #define IDB_SENDFILE 4
7 | #define IDM_ABOUTBOX 0x0010
8 | #define IDD_ABOUTBOX 100
9 | #define IDS_ABOUTBOX 101
10 | #define IDD_TCPSTACK_DIALOG 102
11 | #define IDR_MAINFRAME 128
12 | #define IDB_START 1001
13 | #define IDB_INSTALL 1002
14 | #define IDC_IPADDRESS 1003
15 | #define IDC_EDIT_SRCPORT 1004
16 | #define IDC_EDIT_DSTPORT 1005
17 |
18 | // Next default values for new objects
19 | //
20 | #ifdef APSTUDIO_INVOKED
21 | #ifndef APSTUDIO_READONLY_SYMBOLS
22 | #define _APS_NEXT_RESOURCE_VALUE 129
23 | #define _APS_NEXT_COMMAND_VALUE 32771
24 | #define _APS_NEXT_CONTROL_VALUE 1005
25 | #define _APS_NEXT_SYMED_VALUE 101
26 | #endif
27 | #endif
28 |
--------------------------------------------------------------------------------
/TcpStack/uuid.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/TcpStack/uuid.lib
--------------------------------------------------------------------------------
/WssLockKey.rar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/WssLockKey.rar
--------------------------------------------------------------------------------
/doc/865.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/doc/865.html
--------------------------------------------------------------------------------
/doc/865_files/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/doc/865_files/Thumbs.db
--------------------------------------------------------------------------------
/doc/865_files/document_icon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/doc/865_files/document_icon.gif
--------------------------------------------------------------------------------
/doc/865_files/folder_icon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/doc/865_files/folder_icon.gif
--------------------------------------------------------------------------------
/doc/865_files/logo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/doc/865_files/logo.gif
--------------------------------------------------------------------------------
/doc/865_files/plone.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/doc/865_files/plone.css
--------------------------------------------------------------------------------
/doc/865_files/title.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/doc/865_files/title.gif
--------------------------------------------------------------------------------
/packet/packet.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/packet/packet.txt
--------------------------------------------------------------------------------
/packet/packetrecord.txt:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Date: Thu, 17 Aug 2006 03:34:38 GMT
3 | Server: Microsoft-IIS/6.0
4 | X-Powered-By: ASP.NET
5 | Content-Length: 295
6 | Content-Type: text/html
7 | Set-Cookie: ASPSESSIONIDCARDBDTS=LGMBHIKBLKJGPFGFDHLFMFAN; path=/
8 | Cache-control: private
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | test
17 |
18 |
19 |
20 | ###URL###@@@@@@GET /vote/test.asp&218.57.11.40###URL###$$$$$$
--------------------------------------------------------------------------------
/packet/packetrecord1.txt:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Date: Thu, 17 Aug 2006 03:34:39 GMT
3 | Server: Microsoft-IIS/6.0
4 | X-Powered-By: ASP.NET
5 | Content-Length: 337
6 | Content-Type: text/html
7 | Set-Cookie: ASPSESSIONIDCARDBDTS=NGMBHIKBOHCGADDEHLKNCKDL; path=/
8 | Cache-control: private
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | test
17 |
18 |
19 |
20 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
21 |
22 |
23 | HTTP/1.1 200 OK
24 | Date: Thu, 17 Aug 2006 03:34:40 GMT
25 | Server: Microsoft-IIS/6.0
26 | X-Powered-By: ASP.NET
27 | Content-Length: 337
28 | Content-Type: text/html
29 | Set-Cookie: ASPSESSIONIDCARDBDTS=OGMBHIKBGPDBNFHIIJEFFCMF; path=/
30 | Cache-control: private
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 | test
39 |
40 |
41 |
42 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
43 |
44 |
45 | HTTP/1.1 200 OK
46 | Date: Thu, 17 Aug 2006 03:34:40 GMT
47 | Server: Microsoft-IIS/6.0
48 | X-Powered-By: ASP.NET
49 | Content-Length: 337
50 | Content-Type: text/html
51 | Set-Cookie: ASPSESSIONIDCARDBDTS=PGMBHIKBEFFPENPKLGCJPMCC; path=/
52 | Cache-control: private
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 | test
61 |
62 |
63 |
64 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
65 |
66 |
67 | HTTP/1.1 200 OK
68 | Date: Thu, 17 Aug 2006 03:34:41 GMT
69 | Server: Microsoft-IIS/6.0
70 | X-Powered-By: ASP.NET
71 | Content-Length: 337
72 | Content-Type: text/html
73 | Set-Cookie: ASPSESSIONIDCARDBDTS=AHMBHIKBCDNABOIFAGLJMPOP; path=/
74 | Cache-control: private
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 | test
83 |
84 |
85 |
86 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
87 |
88 |
89 | HTTP/1.1 200 OK
90 | Date: Thu, 17 Aug 2006 03:34:41 GMT
91 | Server: Microsoft-IIS/6.0
92 | X-Powered-By: ASP.NET
93 | Content-Length: 337
94 | Content-Type: text/html
95 | Set-Cookie: ASPSESSIONIDCARDBDTS=BHMBHIKBBNIENLBBICECLJEC; path=/
96 | Cache-control: private
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 | test
105 |
106 |
107 |
108 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
109 |
110 |
111 | HTTP/1.1 200 OK
112 | Date: Thu, 17 Aug 2006 03:34:41 GMT
113 | Server: Microsoft-IIS/6.0
114 | X-Powered-By: ASP.NET
115 | Content-Length: 337
116 | Content-Type: text/html
117 | Set-Cookie: ASPSESSIONIDCARDBDTS=CHMBHIKBOOAKELMBBGFHCOGL; path=/
118 | Cache-control: private
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 | test
127 |
128 |
129 |
130 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
131 |
132 |
133 | HTTP/1.1 200 OK
134 | Date: Thu, 17 Aug 2006 03:34:41 GMT
135 | Server: Microsoft-IIS/6.0
136 | X-Powered-By: ASP.NET
137 | Content-Length: 337
138 | Content-Type: text/html
139 | Set-Cookie: ASPSESSIONIDCARDBDTS=DHMBHIKBCBGEHFONAKKLFCAE; path=/
140 | Cache-control: private
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 | test
149 |
150 |
151 |
152 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
153 |
154 |
155 | HTTP/1.1 200 OK
156 | Date: Thu, 17 Aug 2006 03:34:41 GMT
157 | Server: Microsoft-IIS/6.0
158 | X-Powered-By: ASP.NET
159 | Content-Length: 337
160 | Content-Type: text/html
161 | Set-Cookie: ASPSESSIONIDCARDBDTS=EHMBHIKBNINFLMPHAFBABFON; path=/
162 | Cache-control: private
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 | test
171 |
172 |
173 |
174 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
175 |
176 |
177 | HTTP/1.1 200 OK
178 | Date: Thu, 17 Aug 2006 03:34:41 GMT
179 | Server: Microsoft-IIS/6.0
180 | X-Powered-By: ASP.NET
181 | Content-Length: 337
182 | Content-Type: text/html
183 | Set-Cookie: ASPSESSIONIDCARDBDTS=FHMBHIKBKHMJKLKAKFEOPFGG; path=/
184 | Cache-control: private
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 | test
193 |
194 |
195 |
196 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
197 |
198 |
199 | HTTP/1.1 200 OK
200 | Date: Thu, 17 Aug 2006 03:34:41 GMT
201 | Server: Microsoft-IIS/6.0
202 | X-Powered-By: ASP.NET
203 | Content-Length: 337
204 | Content-Type: text/html
205 | Set-Cookie: ASPSESSIONIDCARDBDTS=GHMBHIKBHDDGELOKGHCLPODA; path=/
206 | Cache-control: private
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 | test
215 |
216 |
217 |
218 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
219 |
220 |
221 | HTTP/1.1 200 OK
222 | Date: Thu, 17 Aug 2006 03:34:41 GMT
223 | Server: Microsoft-IIS/6.0
224 | X-Powered-By: ASP.NET
225 | Content-Length: 337
226 | Content-Type: text/html
227 | Set-Cookie: ASPSESSIONIDCARDBDTS=HHMBHIKBEAIILOBOHODALLJL; path=/
228 | Cache-control: private
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 | test
237 |
238 |
239 |
240 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
241 |
242 |
243 | HTTP/1.1 200 OK
244 | Date: Thu, 17 Aug 2006 03:34:41 GMT
245 | Server: Microsoft-IIS/6.0
246 | X-Powered-By: ASP.NET
247 | Content-Length: 337
248 | Content-Type: text/html
249 | Set-Cookie: ASPSESSIONIDCARDBDTS=IHMBHIKBECGEONBEFCLNFFGO; path=/
250 | Cache-control: private
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 | test
259 |
260 |
261 |
262 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
263 |
264 |
265 | HTTP/1.1 200 OK
266 | Date: Thu, 17 Aug 2006 03:34:42 GMT
267 | Server: Microsoft-IIS/6.0
268 | X-Powered-By: ASP.NET
269 | Content-Length: 337
270 | Content-Type: text/html
271 | Set-Cookie: ASPSESSIONIDCARDBDTS=JHMBHIKBKNMMFFMOAEIBMLGI; path=/
272 | Cache-control: private
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 | test
281 |
282 |
283 |
284 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
285 |
286 |
287 | HTTP/1.1 200 OK
288 | Date: Thu, 17 Aug 2006 03:34:42 GMT
289 | Server: Microsoft-IIS/6.0
290 | X-Powered-By: ASP.NET
291 | Content-Length: 337
292 | Content-Type: text/html
293 | Set-Cookie: ASPSESSIONIDCARDBDTS=KHMBHIKBAHHIOEFCKDKBEFAG; path=/
294 | Cache-control: private
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 | test
303 |
304 |
305 |
306 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
307 |
308 |
309 | HTTP/1.1 200 OK
310 | Date: Thu, 17 Aug 2006 03:34:42 GMT
311 | Server: Microsoft-IIS/6.0
312 | X-Powered-By: ASP.NET
313 | Content-Length: 337
314 | Content-Type: text/html
315 | Set-Cookie: ASPSESSIONIDCARDBDTS=LHMBHIKBLGPJBGKFIJHKPBOE; path=/
316 | Cache-control: private
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 | test
325 |
326 |
327 |
328 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
329 |
330 |
331 | HTTP/1.1 200 OK
332 | Date: Thu, 17 Aug 2006 03:34:42 GMT
333 | Server: Microsoft-IIS/6.0
334 | X-Powered-By: ASP.NET
335 | Content-Length: 337
336 | Content-Type: text/html
337 | Set-Cookie: ASPSESSIONIDCARDBDTS=MHMBHIKBMGGEEJINDGAHMJGC; path=/
338 | Cache-control: private
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 | test
347 |
348 |
349 |
350 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
351 |
352 |
353 | HTTP/1.1 200 OK
354 | Date: Thu, 17 Aug 2006 03:34:42 GMT
355 | Server: Microsoft-IIS/6.0
356 | X-Powered-By: ASP.NET
357 | Content-Length: 337
358 | Content-Type: text/html
359 | Set-Cookie: ASPSESSIONIDCARDBDTS=NHMBHIKBHDLHAKADOKHOLBNJ; path=/
360 | Cache-control: private
361 |
362 |
363 |
364 |
365 |
366 |
367 |
368 | test
369 |
370 |
371 |
372 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
373 |
374 |
375 | HTTP/1.1 200 OK
376 | Date: Thu, 17 Aug 2006 03:34:42 GMT
377 | Server: Microsoft-IIS/6.0
378 | X-Powered-By: ASP.NET
379 | Content-Length: 337
380 | Content-Type: text/html
381 | Set-Cookie: ASPSESSIONIDCARDBDTS=OHMBHIKBCLGDFMAEMKIPHCFN; path=/
382 | Cache-control: private
383 |
384 |
385 |
386 |
387 |
388 |
389 |
390 | test
391 |
392 |
393 |
394 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
395 |
396 |
397 | HTTP/1.1 200 OK
398 | Date: Thu, 17 Aug 2006 03:34:42 GMT
399 | Server: Microsoft-IIS/6.0
400 | X-Powered-By: ASP.NET
401 | Content-Length: 337
402 | Content-Type: text/html
403 | Set-Cookie: ASPSESSIONIDCARDBDTS=PHMBHIKBOMGNFPHJPHFMGHED; path=/
404 | Cache-control: private
405 |
406 |
407 |
408 |
409 |
410 |
411 |
412 | test
413 |
414 |
415 |
416 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
417 |
418 |
419 | HTTP/1.1 200 OK
420 | Date: Thu, 17 Aug 2006 03:34:42 GMT
421 | Server: Microsoft-IIS/6.0
422 | X-Powered-By: ASP.NET
423 | Content-Length: 337
424 | Content-Type: text/html
425 | Set-Cookie: ASPSESSIONIDCARDBDTS=AIMBHIKBBIJDLGJHGMAKDLJG; path=/
426 | Cache-control: private
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 | test
435 |
436 |
437 |
438 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
439 |
440 |
441 | HTTP/1.1 200 OK
442 | Date: Thu, 17 Aug 2006 03:34:42 GMT
443 | Server: Microsoft-IIS/6.0
444 | X-Powered-By: ASP.NET
445 | Content-Length: 337
446 | Content-Type: text/html
447 | Set-Cookie: ASPSESSIONIDCARDBDTS=BIMBHIKBDJJCJBLJELNJGKON; path=/
448 | Cache-control: private
449 |
450 |
451 |
452 |
453 |
454 |
455 |
456 | test
457 |
458 |
459 |
460 | ###ADDR###@@@@@@000016092250070160&221.0.205.152&010001058068&16566###ADDR###$$$$$$
461 |
462 |
463 |
--------------------------------------------------------------------------------
/process/Dbgview.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/process/Dbgview.exe
--------------------------------------------------------------------------------
/process/TcpStack.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/process/TcpStack.exe
--------------------------------------------------------------------------------
/process/netsf.inf:
--------------------------------------------------------------------------------
1 | ; -- NETSF.INF --
2 | ;
3 | ; Passthru driver INF file - this is the INF for the service (protocol)
4 | ; part.
5 | ;
6 | ; Copyright (c) 1993-2001, Microsoft Corporation
7 | ;
8 | ; ----------------------------------------------------------------------
9 | ; Notes:
10 | ; 0. The term "filter" is used in this INF to refer to an NDIS IM driver that
11 | ; implements a 1:1 relationship between upper and lower bindings.
12 | ;
13 | ; 1. Items specifically required for a filter have been marked with
14 | ; "!!--Filter Specific--!!" keyword
15 | ; 2. In general a filter DOES NOT require a notify object for proper installation.
16 | ; A notify object is only required if one wants to have better control
17 | ; over binding operations or if one wants to receive notifications
18 | ; when other components get installed/removed/bound/unbound.
19 | ; Since Windows 2000 systems do not have support for CopyINF directive,
20 | ; a notify object is required to programmatically copy the miniport INF
21 | ; file to the system INF directory. Previous versions of this INF file
22 | ; erroneously used to copy the INF files directly by using the CopyFiles
23 | ; directive.
24 | ; On Windows XP, you can install a filter IM without a notify object.
25 | ; by following the instructions in (4).
26 | ;
27 | ; 3. If you want to use this INF file with your own IM driver, please
28 | ; make the following modifications:
29 | ; File netsf.inf
30 | ; --------------
31 | ; a. In section [SourceDiskFiles] and [Passthru.Files.Sys]
32 | ; change passthru.sys to the name of your own driver binary.
33 | ; b. In section [Passthru.ndi.AddReg], change values of
34 | ; BindForm and MiniportId to appropriate values.
35 | ; File netsf_m.inf
36 | ; ----------------
37 | ; a. Replace MS_PassthruMP with InfId of your miniport.
38 | ; b. In section [PassthruMP.AddService],
39 | ; change ServiceBinary appropriately.
40 | ; c. In section [PassthruMP.ndi.AddReg],
41 | ; change "Passthru" in the line having "Service"
42 | ; to reflect the appropriate name
43 | ;
44 | ; 4. If you want to use this INF for installing the passthru IM without
45 | ; the notify object, do the following:
46 | ; a. In section [Passthru.ndi.AddReg],
47 | ; Comment out lines having ClsId and ComponentDll
48 | ; b. In section [Passthru.ndi],
49 | ; change the value of Characteristics so that it does not have
50 | ; the NCF_HAS_UI flag
51 | ; c. In section [SourceDiskFiles], comment out the line having passthru.dll
52 | ; d. In section [Passthru.ndi], remove Passthru.Files.Init from the
53 | ; CopyFiles line.
54 | ;
55 | ; ----------------------------------------------------------------------
56 |
57 | [Version]
58 | Signature = "$Windows NT$"
59 | Class = NetService
60 | ClassGUID = {4D36E974-E325-11CE-BFC1-08002BE10318}
61 | Provider = %Msft%
62 | DriverVer = 06/24/1999,5.00.2071.1
63 |
64 |
65 | [Manufacturer]
66 | %Msft% = MSFT
67 |
68 | [ControlFlags]
69 |
70 | ;=========================================================================
71 | ;
72 | ;=========================================================================
73 |
74 | [MSFT]
75 | %Passthru_Desc% = Passthru.ndi, ms_passthru
76 |
77 |
78 |
79 | [Passthru.ndi]
80 | AddReg = Passthru.ndi.AddReg, Passthru.AddReg
81 | Characteristics = 0x4490 ; NCF_HAS_UI | NCF_FILTER | NCF_NO_SERVICE | NCF_NDIS_PROTOCOL !--Filter Specific--!!
82 | CopyFiles = Passthru.Files.Init, Passthru.Files.Sys
83 | CopyInf = netsf_m.inf
84 |
85 | [Passthru.ndi.Remove]
86 | DelFiles = Passthru.Files.Init, Passthru.Files.Sys
87 |
88 | [Passthru.ndi.Remove.Services]
89 | DelService = Passthru
90 |
91 | ; ----------------------------------------------------------------------
92 | ; File copy
93 | ;
94 | [SourceDisksNames]
95 | 1=%DiskDescription%,"",,
96 |
97 | [SourceDisksFiles]
98 | passthru.dll=1
99 | passthru.sys=1
100 | netsf_m.inf=1
101 |
102 | [DestinationDirs]
103 | DefaultDestDir = 12
104 | Passthru.Files.Init = 11 ; %windir%\System32
105 | Passthru.Files.Sys = 12 ; %windir%\System32\drivers
106 |
107 | ; Copying of passthru.dll is required only if the filter has a Notify object
108 | [Passthru.Files.Init]
109 | passthru.dll,,,2
110 |
111 | [Passthru.Files.Sys]
112 | passthru.sys,,,2
113 |
114 | [InfSourcePathInfo]
115 | ; Used by the notify object to figure out where the original media is
116 | ; located (so it can use SetupCopyOEMInf to install Net INF located
117 | ; there).
118 |
119 | OriginalInfSourcePath = %1%
120 |
121 | ; ----------------------------------------------------------------------
122 | ; Filter Install
123 | ;
124 |
125 | [Passthru.ndi.AddReg]
126 | HKR, Ndi, HelpText, , %Passthru_HELP%
127 |
128 | ; ----------------------------------------------------------------------
129 | ; Keys required if a Notify object is present
130 | ; These keys should be omitted if the Filter does not have any Notify object
131 | ;
132 | ; Note:
133 | ; 1. Only include the following lines if your filter has configuration UI
134 | ; that needs to be displayed. Otherwise, you should not need a notify
135 | ; object.
136 | ; 2. If you write your own notifyobject, use a different GUID for ClsID!!
137 | ; (Generate this with uuidgen.exe)
138 | ;
139 | HKR, Ndi, ClsID, , {df2e4f67-e93a-11d1-bb14-0000f8779051}
140 | HKR, Ndi, ComponentDll, , passthru.dll
141 |
142 | ; ----------------------------------------------------------------------
143 | ; !!--Filter Specific--!!
144 | ;
145 | ; Note:
146 | ; 1. Other components may also have UpperRange/LowerRange but for filters
147 | ; the value of both of them must be noupper/nolower
148 | ; 2. The value FilterClass is required.
149 | ; 3. The value Service is required
150 | ; 4. FilterDeviceInfId is the InfId of the filter device (miniport) that will
151 | ; be installed for each filtered adapter.
152 | ; In this case this is ms_passthrump (refer to netsf_m.inf)
153 | ;
154 | HKR, Ndi, FilterClass, , failover
155 | HKR, Ndi, FilterDeviceInfId, , ms_passthrump
156 | HKR, Ndi, Service, , Passthru
157 | HKR, Ndi\Interfaces, UpperRange, , noupper
158 | HKR, Ndi\Interfaces, LowerRange, , nolower
159 | HKR, Ndi\Interfaces, FilterMediaTypes, , "ethernet, tokenring, fddi, wan"
160 |
161 | [Passthru.AddReg]
162 | ; The following key is Required
163 | ; The following key is Passthru specific
164 | HKR, Parameters, Param1, 0, 4
165 |
166 | ; ----------------------------------------------------------------------
167 | [Strings]
168 | Msft = "Microsoft"
169 | DiskDescription = "Microsoft Passthru Driver Disk"
170 |
171 | Passthru_Desc = "Passthru Driver"
172 | Passthru_HELP = "Passthru Driver"
173 |
174 |
175 |
--------------------------------------------------------------------------------
/process/netsf_m.inf:
--------------------------------------------------------------------------------
1 | ; -- NETSF_M.INF --
2 | ;
3 | ; Passsthru Miniport INF file
4 | ;
5 | ; Copyright (c) 1993-1999, Microsoft Corporation
6 |
7 | ; ----------------------------------------------------------------------
8 | ; Notes:
9 | ; 0. The term "filter" is used here to refer to an NDIS IM driver that
10 | ; implements a 1:1 relationship between upper and lower bindings.
11 | ; 1. Items specifically required for a filter have been marked with
12 | ; "!!--Filter Specific--!!" keyword
13 | ; 2. A filter DOES NOT require a notify object for proper installation.
14 | ; A notify object is only required if one wants to have better control
15 | ; over binding operations or if one wants to receive notifications
16 | ; when other components get installed/removed/bound/unbound.
17 | ; This sample uses a notify object as an example only. If you do not
18 | ; want to use a notify object, please comment out the lines that add
19 | ; ClsId and ComponentDll registry keys.
20 | ; ----------------------------------------------------------------------
21 |
22 | [Version]
23 | signature = "$Windows NT$"
24 | Class = Net
25 | ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
26 | Provider = %Msft%
27 | DriverVer = 06/24/1999,5.00.2071.1
28 |
29 | [ControlFlags]
30 | ExcludeFromSelect = ms_passthrump
31 |
32 | [DestinationDirs]
33 | DefaultDestDir=12
34 | ; No files to copy
35 |
36 | [Manufacturer]
37 | %Msft% = MSFT
38 |
39 | [MSFT]
40 | %PassthruMP_Desc% = PassthruMP.ndi, ms_passthrump
41 |
42 | [PassthruMP.ndi]
43 | Characteristics = 0x29 ;NCF_NOT_USER_REMOVABLE | NCF_VIRTUAL | NCF_HIDDEN
44 | CopyFiles =
45 |
46 | [PassthruMP.ndi.Services]
47 | AddService = Passthru,0x2, PassthruMP.AddService
48 |
49 |
50 | [PassthruMP.AddService]
51 | DisplayName = %PassthruMP_Desc%
52 | ServiceType = 1 ;SERVICE_KERNEL_DRIVER
53 | StartType = 3 ;SERVICE_DEMAND_START
54 | ErrorControl = 1 ;SERVICE_ERROR_NORMAL
55 | ServiceBinary = %12%\passthru.sys
56 | LoadOrderGroup = PNP_TDI
57 | AddReg = PassthruMP.AddService.AddReg
58 |
59 |
60 | [PassthruMP.AddService.AddReg]
61 | ; ----------------------------------------------------------------------
62 | ; Add any miniport-specific parameters here. These are params that your
63 | ; filter device is going to use.
64 | ;
65 | ;HKR, Parameters, ParameterName, 0x10000, "MultiSz", "Parameter", "Value"
66 | ;HKR, Parameters, ParameterName2, 0x10001, 4
67 |
68 | [Strings]
69 | Msft = "Microsoft"
70 | PassthruMP_Desc = "Passthru Miniport"
71 |
72 | [SourceDisksNames]
73 | ;None
74 |
75 | [SourceDisksFiles]
76 | ;None
77 |
78 |
79 |
--------------------------------------------------------------------------------
/process/passthru.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/process/passthru.dll
--------------------------------------------------------------------------------
/process/passthru.sys:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michael4338/NDIS/0b50b928b25a2ad85846c217e334cd4eb36eee0d/process/passthru.sys
--------------------------------------------------------------------------------