office: (770) 432-4580
fax: (770) 234-4182
skype: pcausa

PCAUSA NDIS Tools
Including
OIDScope

insert content here

Background

The PCAUSA NDIS Developer Tools are a collection of NDIS-related utilities that you may find useful. As time permits, we 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:

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:

  • Enumerate installed NDIS miniports.
  • View NDIS properties of a selected miniport
    • Basic Properties
    • Statistics
    • 802-11 Miniport Information
  • Make 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:

  • Fetch the adapters supported OID list.
  • Fetch the adapter's supported GUID (WMI) list.
  • Select 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:

  • Supported OIDs - Select from the list of OIDs that the adapter's supported OID list.
  • All Defined OIDs - Select from the list of all OIDs that are currently defined (through Windows Server 2003)
  • Custom 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.


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.

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)

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

Version Date Notes
V6.0.2003 March, 2010 Updated a few OIDs.
V6.0.2003 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.04 May, 2006 Added limited support for Windows Vista Beta 2 (Build 5384).
V5.5.18.01 September, 2004
  • 802.11 Property Page for Windows XP and higher.
  • Custom OID Query (User entry of OID value).
  • Support for Windows XP 64-Bit Edition (AMD64).
  • Meaningful icons in adapter chooser list.
  • Better behavior when returning from Standby/Hibernation.
  • HTML Help File.
  • Improved exception handling for large BSSID list.
  • Various application improvements
V5.5.17.58 March, 2004 Various improvements.
V5.3.16.57 December, 2003 Modified to allow 32-bit OIDScope to work on 64-bit Windows. Also works on Windows Longhorn Build 4051.
  My 29, 2003 Added Wi-Fi Protected Access (WPA) OID support to OID Scope.