13#define CheckSpinLock(Lock, Locked) do \
15 if (KmtIsMultiProcessorBuild) \
16 ok_eq_ulongptr(*(Lock), (Locked) != 0); \
17 else if (KmtIsCheckedBuild) \
18 ok_eq_bool(*(Lock) != 0, (Locked) != 0); \
20 ok_eq_ulongptr(*(Lock), 0); \
40 ok_irql(TestContext->ExpectedIrql);
44 return TestContext->ReturnValue;
72 if (OriginalIrql == 3 || (OriginalIrql >= 11 && OriginalIrql <= 26) || OriginalIrql == 30)
77 if (SynchIrql == 3 || (SynchIrql >= 11 && SynchIrql <= 26) || SynchIrql == 30)
80 ok_irql(OriginalIrql);
85 ok_irql(OriginalIrql);
static VOID TestConnectInterrupt(VOID)
#define CheckSpinLock(Lock, Locked)
static KSYNCHRONIZE_ROUTINE SynchronizeRoutine
struct TEST_CONTEXT * PTEST_CONTEXT
static VOID TestSynchronizeExecution(VOID)
#define ok_eq_pointer(value, expected)
#define ok_eq_hex(value, expected)
#define ok_eq_int(value, expected)
#define KeRaiseIrql(irql, oldIrql)
#define KeLowerIrql(oldIrql)
#define KeInitializeSpinLock(sl)
#define RtlFillMemory(Dest, Length, Fill)
#define KmtInvalidPointer
NTSTATUS NTAPI IoConnectInterrupt(OUT PKINTERRUPT *InterruptObject, IN PKSERVICE_ROUTINE ServiceRoutine, IN PVOID ServiceContext, IN PKSPIN_LOCK SpinLock, IN ULONG Vector, IN KIRQL Irql, IN KIRQL SynchronizeIrql, IN KINTERRUPT_MODE InterruptMode, IN BOOLEAN ShareVector, IN KAFFINITY ProcessorEnableMask, IN BOOLEAN FloatingSave)
BOOLEAN NTAPI KeSynchronizeExecution(IN OUT PKINTERRUPT Interrupt, IN PKSYNCHRONIZE_ROUTINE SynchronizeRoutine, IN PVOID SynchronizeContext OPTIONAL)
#define STATUS_INVALID_PARAMETER
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
KSERVICE_ROUTINE * PKSERVICE_ROUTINE