X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=reactos%2Finclude%2Fddk%2Fwinddk.h;h=b06e5cbacf5e5656c0c7992ab41f46aed119943e;hp=0131a0af18751e85bcf3ab3e88c5e78ee6a558c6;hb=592824076618aceca7581ba9ed253811a6448a2c;hpb=94297234b4138b61b38334dd1d7a01ab33433d75 diff --git a/reactos/include/ddk/winddk.h b/reactos/include/ddk/winddk.h index 0131a0af187..b06e5cbacf5 100644 --- a/reactos/include/ddk/winddk.h +++ b/reactos/include/ddk/winddk.h @@ -637,6 +637,28 @@ typedef IO_ALLOCATION_ACTION IN PVOID MapRegisterBase, IN PVOID Context); + +typedef struct _EXCEPTION_RECORD32 +{ + NTSTATUS ExceptionCode; + ULONG ExceptionFlags; + ULONG ExceptionRecord; + ULONG ExceptionAddress; + ULONG NumberParameters; + ULONG ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; +} EXCEPTION_RECORD32, *PEXCEPTION_RECORD32; + +typedef struct _EXCEPTION_RECORD64 +{ + NTSTATUS ExceptionCode; + ULONG ExceptionFlags; + ULONG64 ExceptionRecord; + ULONG64 ExceptionAddress; + ULONG NumberParameters; + ULONG __unusedAlignment; + ULONG64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; +} EXCEPTION_RECORD64, *PEXCEPTION_RECORD64; + typedef EXCEPTION_DISPOSITION (DDKAPI *PEXCEPTION_ROUTINE)( IN struct _EXCEPTION_RECORD *ExceptionRecord, @@ -5425,6 +5447,13 @@ KfReleaseSpinLock( IN PKSPIN_LOCK SpinLock, IN KIRQL NewIrql); +NTKERNELAPI +BOOLEAN +FASTCALL +KeTryToAcquireSpinLockAtDpcLevel( + IN OUT PKSPIN_LOCK SpinLock +); + #define KeAcquireSpinLockAtDpcLevel(SpinLock) KefAcquireSpinLockAtDpcLevel(SpinLock) #define KeReleaseSpinLockFromDpcLevel(SpinLock) KefReleaseSpinLockFromDpcLevel(SpinLock) #define KeAcquireSpinLock(a,b) *(b) = KfAcquireSpinLock(a)