The NDIS blog
Goodbye
Microsoft is retiring this blogging platform, so the NDIS blog will be removed soon. If you have any...
Date: 01/07/2019
My favorite perfcounters
… are the NDIS counters. Like you even had to ask.We love performance counters on the Windows...
Date: 06/06/2017
It’s perfcounter week on the NDIS blog!
Actually every week is perfcounter week.Performance counters are an essential tool for devs, ops, …...
Date: 06/05/2017
A new video on NDIS debugging
The Defrag Tools show was kind enough to host me for a quick chat about debugging NDIS drivers....
Date: 03/21/2017
Eliminating empty handlers
Don’t come back empty-handlered NDIS drivers have several opportunities to supply advanced...
Date: 02/13/2017
Mapping from NDIS OIDs to WMI classes
In which we write a PowerShell script, install the WDK, attach a kernel debugger, reverse-engineer...
Date: 03/21/2015
Using C++ in an NDIS driver
Are NDIS drivers allowed to use C++? The first question is easy: can NDIS drivers be written in...
Date: 07/27/2014
Using WDF in an NDIS driver
Can, Should, and How? WDF is a framework that makes it easier to write Windows drivers. NDIS is a...
Date: 07/20/2014
The NDIS API naming convention
NdisFWhat? Your secret decoder ring to NDIS functions The first time you come across NDIS, you...
Date: 06/20/2014
Using the checked version of NDIS.SYS
I assert that this is a good way to find bugs Installing the checked version of the operating system...
Date: 06/16/2014
NdisFRegisterFilterDriver fails… now what?
Decoding the error codes “I compiled my NDIS filter driver, but NdisFRegisterFilterDriver fails in...
Date: 03/20/2014
Kernel debugging over the network
What just happened to my NIC?! We’ve previously published some tips on how to use the debugger to...
Date: 03/10/2014
Why is there a redundant Restart-NetAdapter cmdlet?
Sometimes you can’t just Enable your way out of a Disable mess Windows 8 and Windows Server 2012...
Date: 01/31/2014
Thanks for your help making Windows great!
Really, it’s all about self-interest Remember way back when you first set up your new computer?...
Date: 01/31/2014
Making minidumps more useful
Miniport: meet minidump Minidumps are a small (~100kb) record of a crash. As their name suggests,...
Date: 01/08/2014
Summary of packet-tracking techniques
Tracking the packet tracking We just covered a couple ways to track packets in the kernel debugger....
Date: 12/27/2013
!ndiskd.nbl -log
All your NBL are belong to !ndiskd Last time we talked about !ndiskd.pendingnbls. This command...
Date: 12/27/2013
!ndiskd.pendingnbls
I’ve got your NBLs right here The most common issue we see in NDIS drivers is a “lost packet”. You...
Date: 12/20/2013
WMI events
Smarter than polling Suppose you want to know if a network adapter is connected. If you read our...
Date: 06/29/2011
Exploring NDIS’s WMI classes
Getting fancy with PowerShell and WMI Last time we got our feet wet with a simple PowerShell script...
Date: 04/06/2011
TMF download page
Are you targeting Windows 8 or Windows Server 2012? You don't need anything from here! These...
Date: 04/06/2011
WPP and KD
Industrial-strength tracing in an industrial-strength debugger Last time we talked about controlling...
Date: 04/06/2011
Diagnostics with WPP
Industrial-strength tracing WPP is similar to DbgPrint. In fact, for NDIS.SYS, WPP and DbgPrint...
Date: 04/06/2011
Diagnostics with Event Viewer
Tracing made easy Starting with Windows 7 and Windows Server 2008 R2, NDIS can be configured to emit...
Date: 04/06/2011
Diagnostics tools in NDIS
Evolving beyond DbgPrint I'd like to take a break from our series on WMI (don't worry -- more WMI is...
Date: 04/06/2011
PWN* your network adapter
*PWN = PowerShell, WMI, and NDIS WMI is frequently misunderstood. WMI is a large collection of...
Date: 12/15/2010
Debugging with NDISKD
Chapter three of a beginner’s guide to debugging with NDISKD In Part 1 of the series, we set up a...
Date: 08/18/2010
NDISKD and !miniport
The second installment of a beginner’s guide to debugging with NDISKD Last time we set up the...
Date: 03/11/2010
Getting started with NDISKD
Part 1 of a beginner’s guide to debugging with NDISKD If you haven’t already, grab the updated WDK...
Date: 03/05/2010
[Re]Introducing NDISKD
Over a decade of making NDIS developers dangerous Today we released a new version of the WDK. This...
Date: 03/01/2010
The difference between a miniport and a miniport driver
A grammatical kinship between NDIS and tennis If you've ever programmed a WDM driver, you're...
Date: 02/23/2010
Removing a non-removable device
A surprise indeed From time to time, miniport authors ask us whether they really have to support...
Date: 02/17/2010
Simplifying your OID request handler
One request at a time, please While we have lots of documentation on MSDN, occasionally the...
Date: 02/09/2010
The NDIS Blog: We’re back!
Now with witty subtitles Lately things have been quiet on the NDIS blog. But that’s about to...
Date: 02/09/2010
How to run NDISTest outside the DTM
The DTM that shipped in the Windows Vista RTM timeframe contains two versions of the NDISTest tool,...
Date: 02/23/2007
What causes a bug check 0xD1 (IRQL_NOT_LESS_OR_EQUAL)
The MSDN document summarizes the cause for the D1 (IRQL_NOT_LESS_OR_EQUAL) pretty well, for people...
Date: 11/04/2006
Troubleshoot a Windows bluescreen, a.k.a bugcheck, a.k.a blue screen of death
I have read a lot of posts in multiple forums on the internet where people ask "My machine keeps...
Date: 10/26/2006
Welcome to the NDIS and NDISTest blog
Welcome to the NDIS and NDISTest blog... we are just getting started so be patient. We want this...
Date: 07/26/2006