NdisDprAcquireSpinLock pass the WHQL 11.2 on WinXP but *Failed* on Win2K

  • Thread starter Thread starter Paul Simon
  • Start date Start date
P

Paul Simon

On the ResetHandler of the driver routine. I use the
*NdisDprAcquireSpinLock* and *NdisDprReleaseSpinLock* API to gain
exclusive access to the resources and to do a hardware reset. This
will Pass the WHQL 11.2 On WinXP, But *failed*
on Win2K by testing NDIS Test version 4.03.0030

The failed item is on 1c_Reset.wsf

When I change the code *NdisDprAcquireSpinLock* and
*NdisDprReleaseSpinLock*
to *NdisAcquireSpinLock* and *NdisReleaseSpinLock* on Win2K by testing
NDIS Test version 4.03.0030 then 1c_Reset.wsf never failed again! Why?

What's the difference between *NdisDprAcquireSpinLock* and
*NdisAcquireSpinLock*? Does someone have met the same problem? Thanks!

~Paul
 
NdisDprAcquireSpinLock requires that you are running at IRQL == DISPATCH.

NdisAcquireSpinLock requires that you are running at IRQL <= DISPATCH.

Since MiniportReset runs at IRQL == DISPATCH, maybe they don't want you to
waste time trying to raise IRQL to DISPATCH when you should already be
there.

Marc Reinig
System Solutions
 
Back
Top