Power Management ICLASS for NDIS Mini-port

From: Art (Art_at_discussions.microsoft.com)
Date: 08/30/04


Date: Mon, 30 Aug 2004 11:01:10 -0700

Hi,

Could somebody clarify which ICLass I should use to implement
power-managment feature in NDIS Mniport Ethernet Driver?

Looking in common.reg it seems that "Power-manageable NDIS miniports" have
their own IClass defined (see below)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\Interfaces]
    "{A32942B7-920C-486b-B0E6-92A702A99B35}"="Generic power-manageable
devices"
    "{8DD679CE-8AB4-43c8-A14A-EA4963FAA715}"="Power-manageable block devices"
    "{98C5250D-C29A-4985-AE5F-AFE5367E5006}"="Power-manageable NDIS miniports"
    "{EB91C7C9-8BF6-4a2d-9AB8-69724EED97D1}"="Power-manageable display"

At the same time NDIS.DLL uses a Generic IClass as follows

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\NDIS]
   "Dll"="NDIS.Dll"
   "Prefix"="NDS"
   "Index"=dword:0
   "Order"=dword:1
   ; Indicate NDS is a power manageable interface
   "IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"

I looked at VMINI driver as a sample for implementation of power-management
in Ethernet it does not make use of Mini-port IClass. It seems relying on
NDIS being registered as a generic power-aware driver.

I implemented power-mangement on my NDIS mini-port driver in the same
fashion (without adding IClass to my driver registry) and it works just
fine. So, my qusetion is what
"{98C5250D-C29A-4985-AE5F-AFE5367E5006}"="Power-manageable NDIS miniports"
IClass is for and whoi uses it? MSDN helps implies that the miniport should(?
) define this entry in its registry, but nobody does. Another undocumented
feature?



Relevant Pages