/*++

    Copyright (c) Microsoft Corporation.  All rights reserved.

Rule Name:

    IrqlExApcLte3

Domain:

    Wdm

Rule ID:

    0x00020007

Description:

    The IrqlExApcLte3 rule specifies that the driver calls the following 
    executive support routines only at IRQL <= APC_LEVEL:
        ExAcquireResourceExclusiveLite
        ExAcquireResourceSharedLite
        ExAcquireSharedStarveExclusive
        ExAcquireSharedWaitForExclusive
        ExConvertExclusiveToSharedLite
        ExDeleteResourceLite

Help Link:

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

--*/


#include "slic_base.h"


ExAcquireResourceExclusiveLite.entry
{
    if ( sdv_irql_current > APC_LEVEL ) {
        abort "$fname should only be called at IRQL <= APC_LEVEL.";
    }
}

ExAcquireResourceSharedLite.entry
{
    if ( sdv_irql_current > APC_LEVEL ) {
        abort "$fname should only be called at IRQL <= APC_LEVEL.";
    }
}

ExAcquireSharedStarveExclusive.entry
{
    if ( sdv_irql_current > APC_LEVEL ) {
        abort "$fname should only be called at IRQL <= APC_LEVEL.";
    }
}

ExAcquireSharedWaitForExclusive.entry
{
    if ( sdv_irql_current > APC_LEVEL ) {
        abort "$fname should only be called at IRQL <= APC_LEVEL.";
    }
}

ExConvertExclusiveToSharedLite.entry
{
    if ( sdv_irql_current > APC_LEVEL ) {
        abort "$fname should only be called at IRQL <= APC_LEVEL.";
    }
}

ExDeleteResourceLite.entry
{
    if ( sdv_irql_current > APC_LEVEL ) {
        abort "$fname should only be called at IRQL <= APC_LEVEL.";
    }
}

