How to use MiniportIdleNotification ( ) and MiniportCancelIdleNotification ( ) ?

When i use NDIS 6.2 i got blue screen crash on Windows 8 , 8.1 OS . So after debugging with win debug , it pointed out ntoskrnl.exe . So i think it due to power management problems . So i am decided to port from NDIS 6.2 to NDIS 6.3 in windows 8 and windows 8.1 .

i changed my codes for NDIS 6.3 like :

MajorNdisVersion = 6;
MinorNdisVersion = 30;

and in InitializeEx() function , i changes code from NDIS 6.2 to NDIS 6.3 .

InitializeEx()
{

DIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES ndisMiniportAdapterRegistrationAttributes;

NdisZeroMemory(&ndisMiniportAdapterRegistrationAttributes, sizeof(NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES));

C_ASSERT(sizeof(NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES) >= NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2);

ndisMiniportAdapterRegistrationAttributes.Header.Type = NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES;

ndisMiniportAdapterRegistrationAttributes.Header.Size = NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2;

ndisMiniportAdapterRegistrationAttributes.Header.Revision = NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2;

ndisMiniportAdapterRegistrationAttributes.AttributeFlags = NDIS_MINIPORT_ATTRIBUTES_SURPRISE_REMOVE_OK | NDIS_MINIPORT_ATTRIBUTES_NDIS_WDM | NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND;

}

Here i added " NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND " . So is it mandatory add " MiniportIdleNotification ( ) " and " MiniportCancelIdleNotification ( ) " function ?

how can i implement that ? Is it enough to protect from power management failures in driver ?