Inactive
Join Date: Dec 2010
Posts: 100
|
Whats this driver for?
Geben Sie Text oder eine Website-Adresse ein oder lassen Sie ein Dokument übersetzen.
Abbrechen
Anhören
Übersetzung von Deutsch nach Englisch
Good evening
'm Just looking around in my 2003s WinDDK encountered an NDIS driver emulates ..
What is NDIS and what exactly emulates hadwaretechnisch?
Here is the text
The purpose of this sample is to illustrate functionality of an NDIS-WDM miniport driver. An NDIS-WDM driver exposes NDIS miniport interface at its upper edge and uses IRPs to interact with other WDM drivers tested as USB, IEEE 1394, serial and at its lower edge. Unlike NDIS miniport NDIS Which can only call functions on NDIS-WDM driver can call both NDIS and non-NDIS functions. However, whenever possible, the miniport driver should call NDIS functions. For example, a miniport driver that controls devices on either Universal Serial Bus (USB) or IEEE 1394 (FireWire) buses must expose a standard NDIS miniport driver interface at its upper edge and use the class interface for The particular bus at its lower edge. Such a miniport driver Communicate with devices that are attached to the bus by sending I / O request packets (IRPs) to the bus.
This sample is built upon the NETVMINI sample available in the Windows Server 2003 DDK. Unlike the NETVMINI, this sample is fully functional. It uses the NDISPROT (NDIS protocol sample available in the Windows Server 2003 DDK) as its lower edge WDM driver to read and write packets to the physical network interface card (NIC) as shown in the diagram below. In order to test this sample, you should at least have one physical NIC on the test machine.
---------------------
| |
| TCP / IP |
| |
---------------------
^
| <-------------- NDIS Interface
V
---------------------
| |
| Sample NDISWDM |
| Miniport |
| |
---------------------
^
| <--------------- IRPs
V
---------------------
| |
| NDISPROT |
| |
---------------------
^
| <--------------- NDIS Interface
V
---------------------
| |
| NDIS Miniport |
| For physical NIC |
| |
---------------------
^
| <-------------- Talk to the hardware using I / O resources
V
---------------
| H / w NIC |
---------------
|||||||
-------
Note: This sample provides on example of a minimal driver intended for educational purposes. Neither the driver nor its sample test programs are intended for use in a production environment.
Operating System
Sample can be built into the OS? Does the sample work in OS? Sample can be used in a production environment for the OS?
Windows Server 2003 Yes Yes No
Windows XP Yes Yes No
Windows 2000 Yes Yes No
Windows Me
See Compatibility below.
See Compatibility below.
No
Windows 98 SE
See Compatibility below.
See Compatibility below.
No
The driver can be built into the Windows ® 2000, Windows ® XP, and Server 2003 DDK build environment.
The driver can be installed in the Windows 2000, XP, and Server 2003 operating systems. Windows 2000 supports only version 5.0 NDIS miniport driver. Windows XP and Server 2003 support versions 5.0 and 5.1 of NDIS miniport driver.
BUILDING THE SAMPLE
Click the Free Build Environment or Checked Build Environment icon under your Development Kit's program group to set basic environment variables needed by the build utility.
Change to the directory containing the device source code, as searchable CD Src \ network \ ndis \ NDISWDM.
Run build-CEZ, or use the macro BLD. Using these tools invokes the Microsoft make routines that produce log files called Buildxxx_yyy_zzz.log, and so if there are Buildxx_yyy_zzz.err Buildxx_yyy_zzz.wrn and any warnings or errors. Where xxx stands for fre or chk Depending on the chosen environment, yyy stands for the OS version (W2K, WXP, or Wnet), and zzz stands for platform version (x86, IA64, or AMD64).
If the build succeeds, the driver, ndiswdm.sys, will be placed in a platform specific subdirectory of your% TargetPath% directory specified in the 'Sources' file. Depending on the build environment, the driver will be either to NDIS 5.0 or NDIS 5.1 miniport driver. If you build in the Windows 2000 build environment, you will get version 5.0 of the NDIS miniport driver. If you build in the Windows XP or Server 2003 environments, you will get version 5.1 of the NDIS miniport driver.
INSTALLATION
You can install the driver and use it NDISWDM as your primary miniport by doing one of the following:
* Disable the bindings of TCP / IP with the physical NIC's miniport and have the NDISWDM miniport to assume the MAC address of the physical NIC. This is the default case.
* Do the bindings of old TCP / IP with the physical NIC miniport. Instead, have the miniport NDISWDM set the physical NIC into promiscuous mode by using the Advanced Property dialog of NDISWDM in the Device Manager. This way, the NDISWDM can send and receive packets that have different MAC addresses. In this mode, the miniport NDISWDM Generates its own locally administered MAC address instead of using the physical NIC's MAC address as its current address.
Installation steps
1. Install the NDISPROT sample from the Windows Server 2003 DDK and start the driver. Instruction on how to install and load the driver is given in the NDISPROT.HTM that comes with the sample. Make sure to rebuild the driver with EX_CALLBACK interface defined in the 'Sources' file. This Enable the driver to notify NDISWDM whenever it gets loaded. Read the tour code section in this document for further information.
2. Double-click Network Connections in Control Panel, right-click the Local Area Connection applet of the physical NIC, and select Properties. Clear the TCP / IP bindings check box.
3. Install the NDISWDM miniport driver. Steps for installing the driver on Windows 2000, XP, and Server 2003 DDK are listed below:
To install the driver on a Windows 2000 machine
1. Build the driver in a Win2K build environment to get the NDIS version 5.0 of the driver.
2. Copy the driver and the NDISWDM.INF file to a floppy disk or to a directory on the target test machine.
3. Open Control Panel, and double-click Add New Hardware.
4. Click Next.
5. Select Add a new device.
6. Select No, I Want to Select the hardware from a list.
7. Select Network Devices, and then click Next.
8. Click Have Disk, and point to the directory that contains NDISWDM.INF file.
To install the driver on a Windows XP or Server 2003 machine
1. Copy the NDIS version 5.1 of the driver and the INF file to a floppy disk or to a directory on the target machine.
2. Open Control Panel and double-click Add Hardware.
3. At the Welcome to the Add Hardware Wizard screen click Next.
4. Select Yes, I have already connected the hardware, and click Next.
5. Select Add a new hardware device from the list, and click Next.
6. Select Install the hardware that I manually select from a list (Advanced), and click Next.
7. Select Network adapters, and click Next.
8. Click Have Disk, make sure that A: \ is in the Copy manufacturer's files from box, and click OK.
9. Click on the desired entry, and click Next.
10. At The wizard is ready to install your hardware screen, click Next.
11. Click Finish.
Alternatively, you can use the DevCon.exe from the DDK to install the driver programmatically.
c: \> INSTALL DevCon.exe ndiswdm.inf "root \ ndiswdm"
The system copies the file to NDISWDM.sys% systemroot% \ system32 \ drivers directory and loads the driver. Instead of enumerating the root driver as described above, you can use the toaster bus driver to enumerate the bus driver.
4. Check the configuration of the miniport by running IPCONFIG / All. You should be able to browse the Internet or copy files from another machine.
This the default configuration - NDISPROT driver is started before NDISWDM mini port - port and the mini is using the MAC address of the real NIC. If you reboot the machine, you will notice that the network connectivity through the mini port is broken. This is because the NDISPROT has not been loaded or loaded after the miniport. When the mini port fails to open the NDISPROT interface during init, it reports a locally administered MAC address as the current address and completes the initialization. After that even, if the mini port is able to successfully open the NDISPROT interface in the ExCallback, it can not report the real NIC's MAC address. As a result, no network communication will take place because the real NIC will not receive or send packets that does not match with it's MAC address. In such a scenario, you can re-establish the network connectivity by disabling and re-enabling the miniport instance in the device manager to make sure that the mini port opens the target device during MiniportInitialize and reports the target NIC's MAC address.
If you like to get this configuration to work across reboots, you should configure the driver to set the target NDISWDM NIC filter to promiscuous mode. You can do that by using Advanced Property of the mini-port in the device manager or by changing the value in the miniport INF file before installing the.
TESTING
Install NDIS WHQL tester from the web site and run all the client and server tests.
And what is the emulator for?
Thanks for help and have a nice evening
|