Hi,
i have a problem with power management of passthru IM ndis driver
of windows ce 5.0
I like enable power management and can suspend/resume the power of
virtual device and physical device.
>From source of Passthru of PB5.0 i have changed:
MiniportQueryInformation: return to OID_PNP_CAPABILITIES the
NDIS_STATUS_SUCCESS status.
>From application when try to suspend the virtual driver with this
application code:
WCHAR strDevice[MAX_PATH];
wsprintf(strDevice, L"{98C5250D-C29A-4985-AE5F-AFE5367E5006}\%s",
strVirtualAdapter);
SetDevicePower(strDevice, POWER_NAME, D3);
NDIS call MiniportSetInformation->OID_PNP_SET_POWER with
NDIS_DEVICE_POWER_STATE = D3. The virtual adapter is suspend but the
physical adapater is power on because the Virtual Minitor don't
propagate a notification to real device. It's a not problem and is a
ok.
Viceversa if i want suspend the physical device, i use this application
code:
WCHAR strDevice[MAX_PATH];
wsprintf(strDevice, L"{98C5250D-C29A-4985-AE5F-AFE5367E5006}\%s",
strPhysicalAdapter);
SetDevicePower(strDevice, POWER_NAME, D3);
NDIS call
ProtocolPNPHandler->NetEventSetPower->ProtocolPnPNetEventSetPower. The
physical device go in power off but the virtual device continue to
power on. The virtual adapeter don't receive a power notification by
passthru protocol. Into ProtocolPnPNetEventSetPower is called
NdisIMNotifyPnPEvent (return 0) but don't receive a respective
OID_PNP_SET_POWER to MiniportSetInformation. I would want that when the
physical device is power off also the respective virtual device is
power off. Why the protocol don't propagates a power notification ?
Thanks
Ciao Massimo