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
+126
-121
@@ -1,140 +1,145 @@
|
||||
; Syscall numbers shared by MASM user-mode stubs.
|
||||
|
||||
; Process, threads, modules, waits, and APC.
|
||||
SYS_EXIT_PROCESS EQU 0
|
||||
SYS_EXIT_THREAD EQU 1
|
||||
SYS_CREATE_PROCESS EQU 2
|
||||
SYS_OPEN_PROCESS EQU 3
|
||||
SYS_GET_PROCESS_EXIT_CODE EQU 4
|
||||
SYS_KILL_PROCESS EQU 5
|
||||
SYS_GET_PROCESS_LIST EQU 6
|
||||
SYS_GET_PROCESS_PID EQU 7
|
||||
SYS_CREATE_THREAD EQU 8
|
||||
SYS_GET_THREAD_LIST EQU 9
|
||||
SYS_LOAD_MODULE EQU 10
|
||||
SYS_UNLOAD_MODULE EQU 11
|
||||
SYS_GET_MODULE_INFO EQU 12
|
||||
SYS_GET_MODULE_EXPORT EQU 13
|
||||
SYS_GET_MODULE_LIST EQU 14
|
||||
SYS_GET_CURRENT_TID EQU 15
|
||||
SYS_GET_CURRENT_PID EQU 16
|
||||
SYS_SET_THREAD_PRIORITY EQU 17
|
||||
SYS_YIELD EQU 18
|
||||
SYS_SLEEP EQU 19
|
||||
SYS_WAIT_SINGLE EQU 20
|
||||
SYS_WAIT_MANY EQU 21
|
||||
SYS_SET_USER_APC_DISPATCHER EQU 22
|
||||
SYS_APC_RETURN EQU 23
|
||||
; Process, threads, modules, waits, APC, and exceptions.
|
||||
SYS_EXIT_PROCESS EQU 0
|
||||
SYS_EXIT_THREAD EQU 1
|
||||
SYS_CREATE_PROCESS EQU 2
|
||||
SYS_OPEN_PROCESS EQU 3
|
||||
SYS_GET_PROCESS_EXIT_CODE EQU 4
|
||||
SYS_KILL_PROCESS EQU 5
|
||||
SYS_GET_PROCESS_LIST EQU 6
|
||||
SYS_GET_PROCESS_PID EQU 7
|
||||
SYS_CREATE_THREAD EQU 8
|
||||
SYS_GET_THREAD_LIST EQU 9
|
||||
SYS_LOAD_MODULE EQU 10
|
||||
SYS_UNLOAD_MODULE EQU 11
|
||||
SYS_GET_MODULE_INFO EQU 12
|
||||
SYS_GET_MODULE_EXPORT EQU 13
|
||||
SYS_GET_MODULE_LIST EQU 14
|
||||
SYS_GET_CURRENT_TID EQU 15
|
||||
SYS_GET_CURRENT_PID EQU 16
|
||||
SYS_SET_THREAD_PRIORITY EQU 17
|
||||
SYS_YIELD EQU 18
|
||||
SYS_SLEEP EQU 19
|
||||
SYS_WAIT_SINGLE EQU 20
|
||||
SYS_WAIT_MANY EQU 21
|
||||
SYS_SET_USER_APC_DISPATCHER EQU 22
|
||||
SYS_APC_RETURN EQU 23
|
||||
SYS_SET_EXCEPTION_DISPATCHER EQU 24
|
||||
SYS_GET_EXCEPTION_DISPATCHER EQU 25
|
||||
SYS_CONTINUE_EXCEPTION EQU 26
|
||||
SYS_RAISE_EXCEPTION EQU 27
|
||||
|
||||
; Virtual memory, mappings, and handles.
|
||||
SYS_ALLOC_VM EQU 24
|
||||
SYS_FREE_VM EQU 25
|
||||
SYS_PROTECT_VM EQU 26
|
||||
SYS_QUERY_VM EQU 27
|
||||
SYS_CLOSE_HANDLE EQU 28
|
||||
SYS_DUPLICATE_HANDLE EQU 29
|
||||
SYS_CREATE_FILE_MAPPING EQU 30
|
||||
SYS_MAP_FILE EQU 31
|
||||
SYS_ALLOC_VM EQU 28
|
||||
SYS_FREE_VM EQU 29
|
||||
SYS_PROTECT_VM EQU 30
|
||||
SYS_QUERY_VM EQU 31
|
||||
SYS_CLOSE_HANDLE EQU 32
|
||||
SYS_DUPLICATE_HANDLE EQU 33
|
||||
SYS_CREATE_FILE_MAPPING EQU 34
|
||||
SYS_MAP_FILE EQU 35
|
||||
|
||||
; Synchronization objects.
|
||||
SYS_CREATE_MUTEX EQU 32
|
||||
SYS_TRY_ACQUIRE_MUTEX EQU 33
|
||||
SYS_RELEASE_MUTEX EQU 34
|
||||
SYS_CREATE_SEM EQU 35
|
||||
SYS_TRY_WAIT_SEM EQU 36
|
||||
SYS_SIGNAL_SEM EQU 37
|
||||
SYS_CREATE_EVENT EQU 38
|
||||
SYS_SIGNAL_EVENT EQU 39
|
||||
SYS_CLEAR_EVENT EQU 40
|
||||
SYS_CREATE_MUTEX EQU 36
|
||||
SYS_TRY_ACQUIRE_MUTEX EQU 37
|
||||
SYS_RELEASE_MUTEX EQU 38
|
||||
SYS_CREATE_SEM EQU 39
|
||||
SYS_TRY_WAIT_SEM EQU 40
|
||||
SYS_SIGNAL_SEM EQU 41
|
||||
SYS_CREATE_EVENT EQU 42
|
||||
SYS_SIGNAL_EVENT EQU 43
|
||||
SYS_CLEAR_EVENT EQU 44
|
||||
|
||||
; Queues and named queues.
|
||||
SYS_CREATE_QUEUE EQU 41
|
||||
SYS_SEND_QUEUE EQU 42
|
||||
SYS_RECV_QUEUE EQU 43
|
||||
SYS_PUBLISH_QUEUE EQU 44
|
||||
SYS_OPEN_NAMED_QUEUE EQU 45
|
||||
SYS_OPEN_NAMED_QUEUE_OWNER_PROCESS EQU 46
|
||||
SYS_CREATE_QUEUE EQU 45
|
||||
SYS_SEND_QUEUE EQU 46
|
||||
SYS_RECV_QUEUE EQU 47
|
||||
SYS_PUBLISH_QUEUE EQU 48
|
||||
SYS_OPEN_NAMED_QUEUE EQU 49
|
||||
SYS_OPEN_NAMED_QUEUE_OWNER_PROCESS EQU 50
|
||||
|
||||
; Files, directories, and current directory.
|
||||
SYS_OPEN_FILE EQU 47
|
||||
SYS_READ_FILE EQU 48
|
||||
SYS_WRITE_FILE EQU 49
|
||||
SYS_READ_FILE_ASYNC EQU 50
|
||||
SYS_WRITE_FILE_ASYNC EQU 51
|
||||
SYS_CANCEL_IO EQU 52
|
||||
SYS_SEEK_FILE EQU 53
|
||||
SYS_GET_FILE_POS EQU 54
|
||||
SYS_GET_FILE_SIZE EQU 55
|
||||
SYS_GET_FILE_STAT EQU 56
|
||||
SYS_STAT_FILE EQU 57
|
||||
SYS_TRUNCATE_FILE EQU 58
|
||||
SYS_FLUSH_FILE EQU 59
|
||||
SYS_DELETE_FILE EQU 60
|
||||
SYS_RENAME_FILE EQU 61
|
||||
SYS_LOCK_FILE EQU 62
|
||||
SYS_UNLOCK_FILE EQU 63
|
||||
SYS_OPEN_DIR EQU 64
|
||||
SYS_READ_DIR EQU 65
|
||||
SYS_CREATE_DIR EQU 66
|
||||
SYS_REMOVE_DIR EQU 67
|
||||
SYS_SET_CWD EQU 68
|
||||
SYS_REAL_PATH EQU 69
|
||||
SYS_OPEN_FILE EQU 51
|
||||
SYS_READ_FILE EQU 52
|
||||
SYS_WRITE_FILE EQU 53
|
||||
SYS_READ_FILE_ASYNC EQU 54
|
||||
SYS_WRITE_FILE_ASYNC EQU 55
|
||||
SYS_CANCEL_IO EQU 56
|
||||
SYS_SEEK_FILE EQU 57
|
||||
SYS_GET_FILE_POS EQU 58
|
||||
SYS_GET_FILE_SIZE EQU 59
|
||||
SYS_GET_FILE_STAT EQU 60
|
||||
SYS_STAT_FILE EQU 61
|
||||
SYS_TRUNCATE_FILE EQU 62
|
||||
SYS_FLUSH_FILE EQU 63
|
||||
SYS_DELETE_FILE EQU 64
|
||||
SYS_RENAME_FILE EQU 65
|
||||
SYS_LOCK_FILE EQU 66
|
||||
SYS_UNLOCK_FILE EQU 67
|
||||
SYS_OPEN_DIR EQU 68
|
||||
SYS_READ_DIR EQU 69
|
||||
SYS_CREATE_DIR EQU 70
|
||||
SYS_REMOVE_DIR EQU 71
|
||||
SYS_SET_CWD EQU 72
|
||||
SYS_REAL_PATH EQU 73
|
||||
|
||||
; Console, display, and surfaces.
|
||||
SYS_WRITE_CONSOLE EQU 70
|
||||
SYS_GET_CONSOLE_INFO EQU 71
|
||||
SYS_SET_CONSOLE_CURSOR EQU 72
|
||||
SYS_FILL_CONSOLE_CHARACTER EQU 73
|
||||
SYS_FILL_CONSOLE_ATTRIBUTE EQU 74
|
||||
SYS_PUT_SCREEN_CHAR EQU 75
|
||||
SYS_CLEAR_SCREEN EQU 76
|
||||
SYS_GET_SCREEN_SIZE EQU 77
|
||||
SYS_QUERY_DISPLAY_INFO EQU 78
|
||||
SYS_CREATE_SURFACE EQU 79
|
||||
SYS_MAP_SURFACE EQU 80
|
||||
SYS_QUERY_SURFACE EQU 81
|
||||
SYS_PRESENT_SURFACE EQU 82
|
||||
SYS_WRITE_CONSOLE EQU 74
|
||||
SYS_GET_CONSOLE_INFO EQU 75
|
||||
SYS_SET_CONSOLE_CURSOR EQU 76
|
||||
SYS_FILL_CONSOLE_CHARACTER EQU 77
|
||||
SYS_FILL_CONSOLE_ATTRIBUTE EQU 78
|
||||
SYS_PUT_SCREEN_CHAR EQU 79
|
||||
SYS_CLEAR_SCREEN EQU 80
|
||||
SYS_GET_SCREEN_SIZE EQU 81
|
||||
SYS_QUERY_DISPLAY_INFO EQU 82
|
||||
SYS_CREATE_SURFACE EQU 83
|
||||
SYS_MAP_SURFACE EQU 84
|
||||
SYS_QUERY_SURFACE EQU 85
|
||||
SYS_PRESENT_SURFACE EQU 86
|
||||
|
||||
; Input.
|
||||
SYS_POLL_KEYBOARD EQU 83
|
||||
SYS_IS_KEY_DOWN EQU 84
|
||||
SYS_READ_KEYBOARD_CHAR EQU 85
|
||||
SYS_READ_KEY EQU 86
|
||||
SYS_GET_KEY_MODIFIERS EQU 87
|
||||
SYS_OPEN_INPUT_QUEUE EQU 88
|
||||
SYS_READ_INPUT_EVENT EQU 89
|
||||
SYS_PEEK_INPUT_EVENT EQU 90
|
||||
SYS_PEEK_MOUSE EQU 91
|
||||
SYS_READ_MOUSE EQU 92
|
||||
SYS_GET_MOUSE_POS EQU 93
|
||||
SYS_POLL_KEYBOARD EQU 87
|
||||
SYS_IS_KEY_DOWN EQU 88
|
||||
SYS_READ_KEYBOARD_CHAR EQU 89
|
||||
SYS_READ_KEY EQU 90
|
||||
SYS_GET_KEY_MODIFIERS EQU 91
|
||||
SYS_OPEN_INPUT_QUEUE EQU 92
|
||||
SYS_READ_INPUT_EVENT EQU 93
|
||||
SYS_PEEK_INPUT_EVENT EQU 94
|
||||
SYS_PEEK_MOUSE EQU 95
|
||||
SYS_READ_MOUSE EQU 96
|
||||
SYS_GET_MOUSE_POS EQU 97
|
||||
|
||||
; Time, debug, and system information.
|
||||
SYS_CREATE_TIMER EQU 94
|
||||
SYS_SET_TIMER EQU 95
|
||||
SYS_CANCEL_TIMER EQU 96
|
||||
SYS_GET_TICK EQU 97
|
||||
SYS_GET_TICK_FREQUENCY EQU 98
|
||||
SYS_GET_SYSTEM_TIME EQU 99
|
||||
SYS_PRINT_DEBUG EQU 100
|
||||
SYS_QUERY_TRAP_FRAME EQU 101
|
||||
SYS_GET_MEMORY_STATUS EQU 102
|
||||
SYS_QUERY_KERNEL_STATS EQU 103
|
||||
SYS_CREATE_TIMER EQU 98
|
||||
SYS_SET_TIMER EQU 99
|
||||
SYS_CANCEL_TIMER EQU 100
|
||||
SYS_GET_TICK EQU 101
|
||||
SYS_GET_TICK_FREQUENCY EQU 102
|
||||
SYS_GET_SYSTEM_TIME EQU 103
|
||||
SYS_PRINT_DEBUG EQU 104
|
||||
SYS_QUERY_TRAP_FRAME EQU 105
|
||||
SYS_GET_MEMORY_STATUS EQU 106
|
||||
SYS_QUERY_KERNEL_STATS EQU 107
|
||||
|
||||
; Native sockets and polling.
|
||||
SYS_CREATE_SOCKET EQU 104
|
||||
SYS_SOCKET_IO_ASYNC EQU 105
|
||||
SYS_BIND_SOCKET EQU 106
|
||||
SYS_LISTEN_SOCKET EQU 107
|
||||
SYS_ACCEPT_SOCKET EQU 108
|
||||
SYS_CONNECT_SOCKET EQU 109
|
||||
SYS_SEND_SOCKET EQU 110
|
||||
SYS_RECV_SOCKET EQU 111
|
||||
SYS_SHUTDOWN_SOCKET EQU 112
|
||||
SYS_SEND_TO_SOCKET EQU 113
|
||||
SYS_RECV_FROM_SOCKET EQU 114
|
||||
SYS_RESOLVE_HOST EQU 115
|
||||
SYS_SET_SOCKET_OPTION EQU 116
|
||||
SYS_GET_SOCKET_OPTION EQU 117
|
||||
SYS_POLL EQU 118
|
||||
SYS_CREATE_SOCKET EQU 108
|
||||
SYS_SOCKET_IO_ASYNC EQU 109
|
||||
SYS_BIND_SOCKET EQU 110
|
||||
SYS_LISTEN_SOCKET EQU 111
|
||||
SYS_ACCEPT_SOCKET EQU 112
|
||||
SYS_CONNECT_SOCKET EQU 113
|
||||
SYS_SEND_SOCKET EQU 114
|
||||
SYS_RECV_SOCKET EQU 115
|
||||
SYS_SHUTDOWN_SOCKET EQU 116
|
||||
SYS_SEND_TO_SOCKET EQU 117
|
||||
SYS_RECV_FROM_SOCKET EQU 118
|
||||
SYS_RESOLVE_HOST EQU 119
|
||||
SYS_SET_SOCKET_OPTION EQU 120
|
||||
SYS_GET_SOCKET_OPTION EQU 121
|
||||
SYS_POLL EQU 122
|
||||
SYS_UNPUBLISH_QUEUE EQU 123
|
||||
|
||||
SYS_MAX EQU 119
|
||||
SYS_MAX EQU 124
|
||||
Reference in new issue
Block a user