1 /*++
2 
3 Copyright (c) Microsoft Corporation
4 
5 Module Name:
6 
7     FxInterruptKm.hpp
8 
9 Abstract:
10 
11     This module implements a frameworks managed interrupt object
12 
13 Author:
14 
15 
16 
17 
18 Environment:
19 
20     Kernel mode only
21 
22 Revision History:
23 
24 
25 --*/
26 
27 #ifndef _FXINTERRUPTKM_H_
28 #define _FXINTERRUPTKM_H_
29 
30 #include "fxinterrupt.hpp"
31 
32 __inline
33 struct _KINTERRUPT*
34 FxInterrupt::GetInterruptPtr(
35     VOID
36     )
37 {
38     struct _KINTERRUPT* interrupt = m_Interrupt;
39 
40     if (interrupt == NULL) {
41         interrupt = m_InterruptCaptured;
42     }
43 
44     return interrupt;
45 }
46 
47 __inline
48 VOID
49 FxInterrupt::ResetInternal(
50     VOID
51     )
52 {
53     //
54     // Does nothing for KMDF
55     //
56 }
57 
58 __inline
59 VOID
60 FxInterrupt::RevokeResourcesInternal(
61     VOID
62     )
63 {
64     //
65     // Does nothing for KMDF
66     //
67 }
68 
69 __inline
70 VOID
71 FxInterrupt::AssignResourcesInternal(
72     __in PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescRaw,
73     __in PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescTrans,
74     __in PWDF_INTERRUPT_INFO InterruptInfo
75     )
76 {
77     UNREFERENCED_PARAMETER(CmDescRaw);
78     UNREFERENCED_PARAMETER(CmDescTrans);
79     UNREFERENCED_PARAMETER(InterruptInfo);
80 
81     //
82     // Does nothing for KMDF
83     //
84 }
85 
86 __inline
87 VOID
88 FxInterrupt::SetPolicyInternal(
89     __in WDF_INTERRUPT_POLICY   Policy,
90     __in WDF_INTERRUPT_PRIORITY Priority,
91     __in PGROUP_AFFINITY        TargetProcessorSet
92     )
93 {
94     UNREFERENCED_PARAMETER(Policy);
95     UNREFERENCED_PARAMETER(Priority);
96     UNREFERENCED_PARAMETER(TargetProcessorSet);
97 
98     //
99     // Does nothing for KMDF
100     //
101 }
102 
103 __inline
104 BOOLEAN
105 _SynchronizeExecution(
106     __in MdInterrupt  Interrupt,
107     __in MdInterruptSynchronizeRoutine  SynchronizeRoutine,
108     __in PVOID  SynchronizeContext
109     )
110 {
111     return KeSynchronizeExecution(Interrupt,
112                                   SynchronizeRoutine,
113                                   SynchronizeContext);
114 }
115 
116 #endif // _FXINTERRUPTKM_H_
117