/*++

    Copyright (c) Microsoft Corporation.  All rights reserved.

Rule Name:

    Pre_IsProtocol

Domain:

    ndis

Rule ID:

    Not Applicable

Description:

    This rules will pass if the driver is a Protocol Driver. 

    Related Rule:
    Is_Miniport, Is_LWF

Help Link:

    https://go.microsoft.com/fwlink/?LinkId=507476

--*/



#include "slic_base.h"

state
{
      enum {initial,im_driver} drivertype = initial;
}


NdisRegisterProtocolDriver.entry
{
  if(drivertype!=im_driver)
  {
    abort "This is a protocol driver";
  }
}


NdisMRegisterMiniportDriver.exit
{
  if($4->Flags & NDIS_INTERMEDIATE_DRIVER)
  {
      halt;
  }
  else
  {
        drivertype=im_driver;
  }
}
