├── 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 --------------------------------------------------------------------------------