2020-09-24 20:51:15 +00:00
|
|
|
/*++
|
|
|
|
|
|
|
|
Copyright (c) Microsoft Corporation
|
|
|
|
|
|
|
|
Module Name:
|
|
|
|
|
|
|
|
FxInterruptKm.hpp
|
|
|
|
|
|
|
|
Abstract:
|
|
|
|
|
|
|
|
This module implements a frameworks managed interrupt object
|
|
|
|
|
|
|
|
Author:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Environment:
|
|
|
|
|
|
|
|
Kernel mode only
|
|
|
|
|
|
|
|
Revision History:
|
|
|
|
|
|
|
|
|
|
|
|
--*/
|
|
|
|
|
|
|
|
#ifndef _FXINTERRUPTKM_H_
|
|
|
|
#define _FXINTERRUPTKM_H_
|
|
|
|
|
2020-10-16 03:30:51 +00:00
|
|
|
#include "fxinterrupt.hpp"
|
2020-09-24 20:51:15 +00:00
|
|
|
|
|
|
|
__inline
|
|
|
|
struct _KINTERRUPT*
|
|
|
|
FxInterrupt::GetInterruptPtr(
|
|
|
|
VOID
|
|
|
|
)
|
|
|
|
{
|
|
|
|
struct _KINTERRUPT* interrupt = m_Interrupt;
|
|
|
|
|
|
|
|
if (interrupt == NULL) {
|
|
|
|
interrupt = m_InterruptCaptured;
|
|
|
|
}
|
|
|
|
|
|
|
|
return interrupt;
|
|
|
|
}
|
|
|
|
|
|
|
|
__inline
|
|
|
|
VOID
|
|
|
|
FxInterrupt::ResetInternal(
|
|
|
|
VOID
|
|
|
|
)
|
|
|
|
{
|
|
|
|
//
|
|
|
|
// Does nothing for KMDF
|
|
|
|
//
|
|
|
|
}
|
|
|
|
|
|
|
|
__inline
|
|
|
|
VOID
|
|
|
|
FxInterrupt::RevokeResourcesInternal(
|
|
|
|
VOID
|
|
|
|
)
|
|
|
|
{
|
|
|
|
//
|
|
|
|
// Does nothing for KMDF
|
|
|
|
//
|
|
|
|
}
|
|
|
|
|
|
|
|
__inline
|
|
|
|
VOID
|
|
|
|
FxInterrupt::AssignResourcesInternal(
|
|
|
|
__in PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescRaw,
|
|
|
|
__in PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescTrans,
|
|
|
|
__in PWDF_INTERRUPT_INFO InterruptInfo
|
|
|
|
)
|
|
|
|
{
|
|
|
|
UNREFERENCED_PARAMETER(CmDescRaw);
|
|
|
|
UNREFERENCED_PARAMETER(CmDescTrans);
|
|
|
|
UNREFERENCED_PARAMETER(InterruptInfo);
|
|
|
|
|
|
|
|
//
|
|
|
|
// Does nothing for KMDF
|
|
|
|
//
|
|
|
|
}
|
|
|
|
|
|
|
|
__inline
|
|
|
|
VOID
|
|
|
|
FxInterrupt::SetPolicyInternal(
|
|
|
|
__in WDF_INTERRUPT_POLICY Policy,
|
|
|
|
__in WDF_INTERRUPT_PRIORITY Priority,
|
|
|
|
__in PGROUP_AFFINITY TargetProcessorSet
|
|
|
|
)
|
|
|
|
{
|
|
|
|
UNREFERENCED_PARAMETER(Policy);
|
|
|
|
UNREFERENCED_PARAMETER(Priority);
|
|
|
|
UNREFERENCED_PARAMETER(TargetProcessorSet);
|
|
|
|
|
|
|
|
//
|
|
|
|
// Does nothing for KMDF
|
|
|
|
//
|
|
|
|
}
|
|
|
|
|
|
|
|
__inline
|
|
|
|
BOOLEAN
|
|
|
|
_SynchronizeExecution(
|
|
|
|
__in MdInterrupt Interrupt,
|
|
|
|
__in MdInterruptSynchronizeRoutine SynchronizeRoutine,
|
|
|
|
__in PVOID SynchronizeContext
|
|
|
|
)
|
|
|
|
{
|
|
|
|
return KeSynchronizeExecution(Interrupt,
|
|
|
|
SynchronizeRoutine,
|
|
|
|
SynchronizeContext);
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // _FXINTERRUPTKM_H_
|