/*++

    Copyright (c) Microsoft Corporation.  All rights reserved.

Rule Name:

    IsUsbDriver

Domain:

    wdf

Rule ID:

    Not Applicable

Description:

    This driver property is satisfied if this is a USB driver (WdfUsbTargetDeviceCreate is called within fun_WDF_DEVICE_PREPARE_HARDWARE). 

    If the driver calls the WdfUsbTargetDeviceCreate DDI in 
    EvtDevicePrepareHardware, the driver is a USB driver.
    
    Rule diagnostics:
    The rule finds a 'defect' if the driver is a USB driver, NA or pass otherwise.


Help Link:

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

--*/

#include "slic_base.h"

state
{
}

	
select one
{
  case fun_WDF_DEVICE_PREPARE_HARDWARE:
  
    [sdv_WdfUsbTargetDeviceCreate,
     sdv_WdfUsbTargetDeviceCreateWithParameters].entry
    {
	abort "This driver property is satisfied as this is a USB driver.";
    }
    fun_WDF_DEVICE_PREPARE_HARDWARE.exit
    {
       halt;
    }
} 
