mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
937 B
50 lines
937 B
#include "wdmlock.h"
|
|
|
|
#pragma PAGEDCODE
|
|
CLock* CWDMLock::create(VOID)
|
|
{ return new (NonPagedPool) CWDMLock; }
|
|
|
|
#pragma PAGEDCODE
|
|
VOID CWDMLock::initializeSpinLock(PKSPIN_LOCK SpinLock)
|
|
{
|
|
KeInitializeSpinLock(SpinLock);
|
|
}
|
|
|
|
#pragma PAGEDCODE
|
|
VOID CWDMLock::acquireSpinLock(PKSPIN_LOCK SpinLock, PKIRQL oldIrql)
|
|
{
|
|
KeAcquireSpinLock(SpinLock,oldIrql);
|
|
}
|
|
|
|
#pragma PAGEDCODE
|
|
VOID CWDMLock::releaseSpinLock(PKSPIN_LOCK SpinLock, KIRQL oldIrql)
|
|
{
|
|
KeReleaseSpinLock(SpinLock,oldIrql);
|
|
}
|
|
|
|
#pragma PAGEDCODE
|
|
VOID CWDMLock::acquireCancelSpinLock(PKIRQL Irql)
|
|
{
|
|
::IoAcquireCancelSpinLock(Irql);
|
|
}
|
|
|
|
#pragma PAGEDCODE
|
|
VOID CWDMLock::releaseCancelSpinLock(KIRQL Irql)
|
|
{
|
|
::IoReleaseCancelSpinLock(Irql);
|
|
}
|
|
|
|
|
|
#pragma PAGEDCODE
|
|
LONG CWDMLock::interlockedIncrement(IN PLONG Addend)
|
|
{
|
|
return ::InterlockedIncrement(Addend);
|
|
}
|
|
|
|
#pragma PAGEDCODE
|
|
LONG CWDMLock::interlockedDecrement(IN PLONG Addend)
|
|
{
|
|
return ::InterlockedDecrement(Addend);
|
|
}
|
|
|
|
|