diff --git a/reactos/drivers/network/ndisuio/protocol.c b/reactos/drivers/network/ndisuio/protocol.c index cc79da27349..5e7628450bd 100644 --- a/reactos/drivers/network/ndisuio/protocol.c +++ b/reactos/drivers/network/ndisuio/protocol.c @@ -45,12 +45,54 @@ NTAPI NduNetPnPEvent(NDIS_HANDLE ProtocolBindingContext, PNET_PNP_EVENT NetPnPEvent) { + PNDIS_DEVICE_POWER_STATE PowerState; + DPRINT("NetPnPEvent\n"); switch (NetPnPEvent->NetEvent) { case NetEventQueryRemoveDevice: /* Nothing to do */ + DPRINT1("NetPnPEvent: QueryRemoveDevice\n"); + return NDIS_STATUS_SUCCESS; + + case NetEventSetPower: + ASSERT(NetPnPEvent->BufferLength >= sizeof(*PowerState)); + + PowerState = NetPnPEvent->Buffer; + switch (*PowerState) + { + case NdisDeviceStateD0: + DPRINT1("NetPnPEvent: SetPower D0\n"); + return NDIS_STATUS_SUCCESS; + + default: + DPRINT1("NetPnPEvent: SetPower state %d not supported\n", *PowerState); + return NDIS_STATUS_FAILURE; + } + + case NetEventQueryPower: + DPRINT1("NetPnPEvent: QueryPower\n"); + return NDIS_STATUS_SUCCESS; + + case NetEventCancelRemoveDevice: + DPRINT1("NetPnPEvent: CancelRemoveDevice\n"); + return NDIS_STATUS_SUCCESS; + + case NetEventReconfigure: + DPRINT1("NetPnPEvent: Reconfigure\n"); + return NDIS_STATUS_SUCCESS; + + case NetEventBindList: + DPRINT1("NetPnPEvent: BindList\n"); + return NDIS_STATUS_SUCCESS; + + case NetEventBindsComplete: + DPRINT1("NetPnPEvent: BindsComplete\n"); + return NDIS_STATUS_SUCCESS; + + case NetEventPnPCapabilities: + DPRINT1("NetPnPEvent: PnPCapabilities\n"); return NDIS_STATUS_SUCCESS; default: