NDIS Tools

Home Up TTCP Utility NDIS Tools TDI Query (TDIQ) MACADDR II

PCAUSA NDIS Developer Tools
V6.0.2002 - November, 2006

 

Background

The PCAUSA NDIS Developer Tools are a collection of NDIS-related utilities that you may find useful. When time permits we take the time to adapt some of our internal "odds-and-ends" and put them in a form that is at least minimally suitable for external use.

At this time the PCAUSA NDIS Developer Tools collection includes:

bullet

OID Scope - User-Mode NDIS Query Tool

bullet

OID Lookup - OID Value/MACRO Name Lookup Tool

bullet

NDIS Status Lookup - NDIS_STATUS Value/MACRO Name Lookup Tool

A link to download PCAUSA NDIS Developer Tools is at the end of this page.

 

OID Scope - User-Mode NDIS Query Tool

OID Scope is a Win32 application that provides a simple way to explore information related to NDIS miniports from a simple user-mode application. OID Scope allows the user to:

bulletEnumerate installed NDIS miniports.
bulletView NDIS properties of a selected miniport
bulletBasic Properties
bulletStatistics
bullet802-11 Miniport Information
bulletMake any NDIS query supported by the miniport

Background

OID Scope is based on the Windows NT 4.0 DDK MACADDR sample application.

The NT 4.0 MACADDR sample illustrated the use of Win32 DeviceIoControl calls to access NDIS miniport drivers using IOCTL_NDIS_QUERY_GLOBAL_STATS. Using this IOCTL a Win32 application can have limited access to a NDIS MAC driver without needing the support of a companion NDIS protocol driver. This can be useful to network-aware applications - especially MAC vendor diagnostic tools.

The NT 4.0 MACADDR sample was a simple console application that was invoked from the command line. In those days a NDIS miniport was identified by a simple name like "EL905B". With names so short (and meaningful) using the command line was practical. The application fetched the adapter's current 802.3 address.

Windows 2000 introduced NDIS 5.0 and new miniport naming conventions. NDIS adapter names on NDIS 5.0 and higher are globally-unique identifiers (GUIDs) like "{9c9770b5-cfbc-41df-be1d-510cec826190}". Hardly practical to enter form the command-line.

OID Scope extends MACADDR from a simple console application to a more functional Windows MFC application. Adapters are enumerated using the SetupDi API (Windows 2000 and higher), and NDIS information about each adapter is displayed as a tabbed dialog. OID Scope also allows the user to select and make any NDIS query supported by the miniport.

 

Limitations

OID Scope uses the IOCTL_NDIS_QUERY_GLOBAL_STATS method to allow a developer to select any NDIS adapter and to perform any NDIS query that the adapter supports.

OIDScope uses the technique of using IOCTL_NDIS_QUERY_GLOBAL_STATS to access a NDIS miniport driver. This technique will NOT work on the Windows 9X/ME platforms. Sorry!

The IOCTL_NDIS_QUERY_GLOBAL_STATS facility is to be deprecated in future versions of Windows for "security" reasons.

 

OID Scope Usage

When OID Scope is initially run it presents an adapter chooser dialog:

 

Select the desired network adapter and then press the Properties button. The OID Scope adapter property sheet will be displayed:

 

The data provided on the Basic property page and Statistics Property Page should be easy to understand. There is also an 802.11 Property Page if the selected adapter is a Wi-Fi adapter.

The Basic property page also allows you to perform some additional operations:

bulletFetch the adapters supported OID list.
bulletFetch the adapter's supported GUID (WMI) list.
bulletSelect and perform any NDIS query that is supported by the adapter.

 

Pressing the Make NDIS Query button brings up a Select OID To Query Dialog that allows you to select the query that you want to make.

There are actually three ways to select an OID to query:

bulletSupported OIDs - Select from the list of OIDs that the adapter's supported OID list.
bulletAll Defined OIDs - Select from the list of all OIDs that are currently defined (through Windows Server 2003)
bulletCustom OID - Enter a HEX representation of any OID desired.

The radio buttons are used to control which query selection field is used.

Use care when selecting OIDs to be queried. The lists includes OIDs that are set only (should not be queried) as well as OIDs that may not be appropriate for the actual adapter.

When specifying a custom OID any unexpected behavior is completely the responsibility of the user. This is especially true when making queries in the vendor-specific range.

Use caution when selecting an OID to query. Any unexpected behavior is completely the responsibility of the user.

Then press the Make Query button to see the selected query results. The Query Results Dialog presents that query results in an appropriate format.

The dialog can automatically update the query by checking the Auto-Update Enable box.

  Although the OID Scope Tool allows you to make any NDIS query from the user-mode application, some queries just "don't make sense" when made this way. Some NDIS queries only make sense when made by a NDIS protocol driver on a NDIS miniport driver that it is bound to. So, as a developer it is up to you to interpret the query results carefully.

Need a Pocket PC 2002 or Pocket PC 2003 version of OID Scope?
Go to OID Scope for Pocket PC.

 

OID Lookup - OID Value/MACRO Name Lookup

The OID Lookup tool is a utility whose sole purpose is to provide a convenient way to lookup:

bulletAn OID MACRO name from an OID value.
bulletAn OID value from an OID MACRO name.

 

OID Lookup Usage

The snapshot below illustrates the OID Lookup Tool dialog.

 

bulletTo lookup an OID MACRO name, enter the OID value (as Hex or decimal) in the OID Value edit field and then press the "Lookup OID MACRO Name" button.
 
bulletTo lookup an OID value, enter (or paste) the OID MACRO name in the OID MACRO Name edit field and then press the "Lookup OID Value" button.

 

NDIS Status - NDIS_STATUS Value/MACRO Name Lookup Tool

The NDIS Status Lookup tool is a utility whose sole purpose is to provide a convenient way to lookup:

bulletAn NDIS_STATUS MACRO name from an NDIS_STATUS value.
bulletAn NDIS_STATUS value from an NDIS_STATUS MACRO name.

 

NDIS Status Lookup Usage

The snapshot below illustrates the NDIS Status Lookup Tool dialog.

 

bulletTo lookup an NDIS_STATUS MACRO name, enter the NDIS_STATUS value (as Hex or decimal) in the STATUS Value edit field and then press the "Lookup STATUS Defined Name" button.
 
bulletTo lookup an NDIS_STATUS value, enter (or paste) the NDIS_STATUS MACRO name in the STATUS Defined Name edit field and then press the "Lookup STATUS Value" button.

As a shortcut, when looking up a NDIS_STATUS value you can omit the "NDIS_STATUS_" prefix to the MACRO name. For example, you can simply enter "buffer_too_short" to find the value for "NDIS_STATUS_BUFFER_TOO_SHORT".

 

Suggestions

Please let us know if you encounter difficulties using these programs or if you have suggestions for improvement.

We will consider incorporating your suggestions into future versions and posting them here.

 

Terms Of Use

The PCAUSA NDIS Developer Tools software is provided "as is", without any guarantee made as to its suitability or fitness for any particular use. It may contain bugs, so use these tools at your own risk. PCAUSA takes no responsibly for any damage that may unintentionally be caused through its use.

warning.gif (151 bytes) You may NOT redistribute PCAUSA NDIS Developer Tools executables or any of the PCAUSA NDIS Developer Tools components that you downloaded without express written permission of PCAUSA.

If someone wants these items, then they must download them from the PCAUSA website.

 

Download PCAUSA NDIS Developer Tools (Executables Only...)

The PCAUSA NDIS Tools are available for download as a Windows Installer setup file:

Windows Installer MSI File:

NdisTools MSI File
5.26 MB (5,521,408bytes)

Windows Installer Setup File:

NdisToolsSetup
5.26 MB (5,521,408bytes)

warning.gif (151 bytes) Please UNINSTALL any prior versions of NDIS Tools before installing this new version.

The installer isn't currently smart enough to handle updates gracefully.

Sorry...

Release Notes

v6.0.2002 - November, 2006 Small modification to show 802.11 page on Intel 3945ABG NDIS 5 NICs on pre-Vista Windows versions.
V5.5.18.05 - August, 2006 Added limited support for Windows Vista Native Wi-Fi.
V5.5.18.05 - May, 2006 Added limited support for Windows Vista Beta 2 (Build 5384).
V5.5.18.01 - September, 2004 Fixed a bug that caused OIDScope to fail to detect some 802.11g adapters.
V5.5.17.00 - April, 2004
bullet

802.11 Property Page for Windows XP and higher

bullet

Custom OID Query (User entry of OID value)

bullet

Support for Windows XP 64-Bit Edition (AMD64)

bullet

Meaningful icons in adapter chooser list

bullet

Better behavior when returning from standby/hibernation

bullet

HTML Help file.

bullet

Improved exception handling for large BSSID list.

bullet

Various application improvements

March 1, 2004 - V5.5.17.58 Various improvements.
December 29, 2003 - V5.03.16.57 Modified to allow 32-bit OIDScope to work on 64-bit Windows. Also works on Windows Longhorn Build 4051.
May 29, 2003 Added Wi-Fi Protected Access (WPA) OID support to OID Scope.
March 20, 2002 Added NDIS Status Lookup Tool.
November 16, 2001 Initial release of PCAUSA NDIS Developer Tools.

 

. Hit Counter3/30/06

 

PCAUSA Home · Privacy Statement · Products · Ordering · Support · Utilities · Resources
Mailing Lists  · PCAUSA Newsletter · PCAUSA Discussion List
 
Rawether for Windows and WinDis 32 are trademarks of Printing Communications Assoc., Inc. (PCAUSA)
Microsoft, MS, Windows, Windows 95, Windows 98, Windows Millennium, Windows 2000, and Win32 are registered trademarks and Visual C++ and Windows NT are trademarks of the Microsoft Corporation.
Send mail to webmaster@pcausa.com with questions or comments about this web site.
Copyright © 1996-2008 Printing Communications Assoc., Inc. (PCAUSA)
Last modified: December 31, 2007