implement user mode catchable exceptions, refactor system status codes to use NTLSTATUS_ prefix, update build scripts to use shared literal macros for linker arguments, update named queue lifetime cleanup to include KeNamedQueueUnpublishHandle.
This commit is contained in:
1 parent
1f5477cf66
commit
b7fcfce6f7
140 files changed
+7649
-3943
No files matched your search
@@ -0,0 +1,24 @@
|
||||
// Native user-mode exception runtime declarations shared by applications and personalities.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include <ntlite/syscall.h>
|
||||
|
||||
#if defined(NTL_EXCEPTION_EXPORTS)
|
||||
#define NTL_EXCEPTION_API __declspec(dllexport)
|
||||
#else
|
||||
#define NTL_EXCEPTION_API
|
||||
#endif
|
||||
|
||||
#define NTL_EXCEPTION_CONTINUE_EXECUTION ((int)SYS_EXCEPTION_DISPOSITION_CONTINUE_EXECUTION)
|
||||
#define NTL_EXCEPTION_CONTINUE_SEARCH ((int)SYS_EXCEPTION_DISPOSITION_CONTINUE_SEARCH)
|
||||
#define NTL_EXCEPTION_TERMINATE_PROCESS ((int)SYS_EXCEPTION_DISPOSITION_TERMINATE_PROCESS)
|
||||
|
||||
typedef int (*NTL_EXCEPTION_HANDLER)(SYS_EXCEPTION_RECORD* record,
|
||||
SYS_USER_CONTEXT* context,
|
||||
void* userContext);
|
||||
|
||||
NTL_EXCEPTION_API uint32_t NtlInitializeExceptionRuntime(void);
|
||||
NTL_EXCEPTION_API void* NtlAddExceptionHandler(int first, NTL_EXCEPTION_HANDLER handler, void* context);
|
||||
NTL_EXCEPTION_API uint32_t NtlRemoveExceptionHandler(void* handle);
|
||||
Reference in new issue
Block a user