win 0.1.27 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +5 -5
- data/.gitignore +21 -21
- data/LICENSE +20 -20
- data/README.rdoc +175 -175
- data/Rakefile +58 -58
- data/VERSION +1 -1
- data/features/support/env.rb +4 -4
- data/features/win.feature +9 -9
- data/lib/win/dde.rb +1234 -1234
- data/lib/win/error.rb +1223 -1223
- data/lib/win/extensions.rb +41 -41
- data/lib/win/gui.rb +16 -16
- data/lib/win/gui/dialog.rb +50 -50
- data/lib/win/gui/input.rb +319 -319
- data/lib/win/gui/message.rb +807 -807
- data/lib/win/gui/window.rb +679 -679
- data/lib/win/library.rb +463 -463
- data/spec/spec.opts +2 -2
- data/spec/spec_helper.rb +140 -135
- data/spec/test_apps/locknote/LockNote.exe +0 -0
- data/spec/win/dde_spec.rb +528 -528
- data/spec/win/error_spec.rb +112 -112
- data/spec/win/extensions_spec.rb +73 -73
- data/spec/win/gui/dialog_spec.rb +43 -43
- data/spec/win/gui/input_spec.rb +101 -101
- data/spec/win/gui/message_spec.rb +236 -236
- data/spec/win/gui/window_spec.rb +549 -548
- data/spec/win/library_spec.rb +341 -341
- data/win.gemspec +87 -87
- metadata +34 -17
data/lib/win/error.rb
CHANGED
@@ -1,1224 +1,1224 @@
|
|
1
|
-
require 'win/library'
|
2
|
-
|
3
|
-
module Win
|
4
|
-
|
5
|
-
# Defines functions and constants related to error processing.
|
6
|
-
# Includes (some) error codes from error.h, msterr.h and winerror.h (up to 3000);
|
7
|
-
# other modules may contain additional error codes specific to their domain.
|
8
|
-
#
|
9
|
-
module Error
|
10
|
-
include Win::Library
|
11
|
-
|
12
|
-
#Error codes:
|
13
|
-
|
14
|
-
# :stopdoc:
|
15
|
-
S_OK = 0
|
16
|
-
NO_ERROR = 0
|
17
|
-
ERROR_SUCCESS = 0
|
18
|
-
ERROR_INVALID_FUNCTION = 1
|
19
|
-
ERROR_FILE_NOT_FOUND = 2
|
20
|
-
ERROR_PATH_NOT_FOUND = 3
|
21
|
-
ERROR_TOO_MANY_OPEN_FILES = 4
|
22
|
-
ERROR_ACCESS_DENIED = 5
|
23
|
-
ERROR_INVALID_HANDLE = 6
|
24
|
-
ERROR_ARENA_TRASHED = 7
|
25
|
-
ERROR_NOT_ENOUGH_MEMORY = 8
|
26
|
-
ERROR_INVALID_BLOCK = 9
|
27
|
-
ERROR_BAD_ENVIRONMENT = 10
|
28
|
-
ERROR_BAD_FORMAT = 11
|
29
|
-
ERROR_INVALID_ACCESS = 12
|
30
|
-
ERROR_INVALID_DATA = 13
|
31
|
-
ERROR_INVALID_DRIVE = 15
|
32
|
-
ERROR_CURRENT_DIRECTORY = 16
|
33
|
-
ERROR_NOT_SAME_DEVICE = 17
|
34
|
-
ERROR_NO_MORE_FILES = 18
|
35
|
-
ERROR_WRITE_PROTECT = 19
|
36
|
-
ERROR_BAD_UNIT = 20
|
37
|
-
ERROR_NOT_READY = 21
|
38
|
-
ERROR_BAD_COMMAND = 22
|
39
|
-
ERROR_CRC = 23
|
40
|
-
ERROR_BAD_LENGTH = 24
|
41
|
-
ERROR_SEEK = 25
|
42
|
-
ERROR_NOT_DOS_DISK = 26
|
43
|
-
ERROR_SECTOR_NOT_FOUND = 27
|
44
|
-
ERROR_OUT_OF_PAPER = 28
|
45
|
-
ERROR_WRITE_FAULT = 29
|
46
|
-
ERROR_READ_FAULT = 30
|
47
|
-
ERROR_GEN_FAILURE = 31
|
48
|
-
ERROR_SHARING_VIOLATION = 32
|
49
|
-
ERROR_LOCK_VIOLATION = 33
|
50
|
-
ERROR_WRONG_DISK = 34
|
51
|
-
ERROR_FCB_UNAVAILABLE = 35 # gets returned for some unsuccessful DeviceIoControl calls
|
52
|
-
ERROR_SHARING_BUFFER_EXCEEDED = 36
|
53
|
-
ERROR_HANDLE_EOF = 38
|
54
|
-
ERROR_HANDLE_DISK_FULL = 39
|
55
|
-
|
56
|
-
ERROR_NOT_SUPPORTED = 50
|
57
|
-
ERROR_REM_NOT_LIST = 51
|
58
|
-
ERROR_DUP_NAME = 52
|
59
|
-
ERROR_BAD_NETPATH = 53
|
60
|
-
ERROR_NETWORK_BUSY = 54
|
61
|
-
ERROR_DEV_NOT_EXIST = 55
|
62
|
-
ERROR_TOO_MANY_CMDS = 56
|
63
|
-
ERROR_ADAP_HDW_ERR = 57
|
64
|
-
ERROR_BAD_NET_RESP = 58
|
65
|
-
ERROR_UNEXP_NET_ERR = 59
|
66
|
-
ERROR_BAD_REM_ADAP = 60
|
67
|
-
ERROR_PRINTQ_FULL = 61
|
68
|
-
ERROR_NO_SPOOL_SPACE = 62
|
69
|
-
ERROR_PRINT_CANCELLED = 63
|
70
|
-
ERROR_NETNAME_DELETED = 64
|
71
|
-
ERROR_NETWORK_ACCESS_DENIED = 65
|
72
|
-
ERROR_BAD_DEV_TYPE = 66
|
73
|
-
ERROR_BAD_NET_NAME = 67
|
74
|
-
ERROR_TOO_MANY_NAMES = 68
|
75
|
-
ERROR_TOO_MANY_SESS = 69
|
76
|
-
ERROR_SHARING_PAUSED = 70
|
77
|
-
ERROR_REQ_NOT_ACCEP = 71
|
78
|
-
ERROR_REDIR_PAUSED = 72
|
79
|
-
|
80
|
-
ERROR_FILE_EXISTS = 80
|
81
|
-
ERROR_DUP_FCB = 81
|
82
|
-
ERROR_CANNOT_MAKE = 82
|
83
|
-
ERROR_FAIL_I24 = 83
|
84
|
-
ERROR_OUT_OF_STRUCTURES = 84
|
85
|
-
ERROR_ALREADY_ASSIGNED = 85
|
86
|
-
ERROR_INVALID_PASSWORD = 86
|
87
|
-
ERROR_INVALID_PARAMETER = 87
|
88
|
-
ERROR_NET_WRITE_FAULT = 88
|
89
|
-
ERROR_NO_PROC_SLOTS = 89 # no process slots available
|
90
|
-
ERROR_NOT_FROZEN = 90
|
91
|
-
ERR_TSTOVFL = 91 # timer service table overflow
|
92
|
-
ERR_TSTDUP = 92 # timer service table duplicate
|
93
|
-
ERROR_NO_ITEMS = 93 # There were no items to operate upon
|
94
|
-
ERROR_INTERRUPT = 95 # interrupted system call
|
95
|
-
|
96
|
-
ERROR_TOO_MANY_SEMAPHORES = 100
|
97
|
-
ERROR_EXCL_SEM_ALREADY_OWNED = 101
|
98
|
-
ERROR_SEM_IS_SET = 102
|
99
|
-
ERROR_TOO_MANY_SEM_REQUESTS = 103
|
100
|
-
ERROR_INVALID_AT_INTERRUPT_TIME = 104
|
101
|
-
ERROR_SEM_OWNER_DIED = 105 # waitsem found owner died
|
102
|
-
ERROR_SEM_USER_LIMIT = 106 # too many procs have this sem
|
103
|
-
ERROR_DISK_CHANGE = 107 # insert disk b into drive a
|
104
|
-
ERROR_DRIVE_LOCKED = 108 # drive locked by another process
|
105
|
-
ERROR_BROKEN_PIPE = 109 # write on pipe with no reader
|
106
|
-
ERROR_OPEN_FAILED = 110 # open/created failed
|
107
|
-
ERROR_DISK_FULL = 112 # not enough space
|
108
|
-
ERROR_NO_MORE_SEARCH_HANDLES = 113 # can't allocate
|
109
|
-
ERROR_INVALID_TARGET_HANDLE = 114 # handle in DOSDUPHANDLE is invalid
|
110
|
-
ERROR_PROTECTION_VIOLATION = 115 # bad user virtual address
|
111
|
-
ERROR_VIOKBD_REQUEST = 116
|
112
|
-
ERROR_INVALID_CATEGORY = 117 # category for DEVIOCTL not defined
|
113
|
-
ERROR_INVALID_VERIFY_SWITCH = 118 # invalid value
|
114
|
-
ERROR_BAD_DRIVER_LEVEL = 119 # DosDevIOCTL not level four
|
115
|
-
ERROR_CALL_NOT_IMPLEMENTED = 120
|
116
|
-
ERROR_SEM_TIMEOUT = 121 # timeout from semaphore function
|
117
|
-
ERROR_INSUFFICIENT_BUFFER = 122
|
118
|
-
ERROR_INVALID_NAME = 123 # illegal char or malformed file system name
|
119
|
-
ERROR_INVALID_LEVEL = 124 # unimplemented level for info retrieval
|
120
|
-
ERROR_NO_VOLUME_LABEL = 125 # no volume label found
|
121
|
-
ERROR_MOD_NOT_FOUND = 126 # w_getprocaddr, w_getmodhandle
|
122
|
-
ERROR_PROC_NOT_FOUND = 127 # w_getprocaddr
|
123
|
-
ERROR_WAIT_NO_CHILDREN = 128 # CWait finds to children
|
124
|
-
ERROR_CHILD_NOT_COMPLETE = 129 # CWait children not dead yet
|
125
|
-
ERROR_DIRECT_ACCESS_HANDLE = 130 # invalid for direct disk access
|
126
|
-
ERROR_NEGATIVE_SEEK = 131 # tried to seek negative offset
|
127
|
-
ERROR_SEEK_ON_DEVICE = 132 # tried to seek on device or pipe
|
128
|
-
ERROR_IS_JOIN_TARGET = 133
|
129
|
-
ERROR_IS_JOINED = 134
|
130
|
-
ERROR_IS_SUBSTED = 135
|
131
|
-
ERROR_NOT_JOINED = 136
|
132
|
-
ERROR_NOT_SUBSTED = 137
|
133
|
-
ERROR_JOIN_TO_JOIN = 138
|
134
|
-
ERROR_SUBST_TO_SUBST = 139
|
135
|
-
ERROR_JOIN_TO_SUBST = 140
|
136
|
-
ERROR_SUBST_TO_JOIN = 141
|
137
|
-
ERROR_BUSY_DRIVE = 142
|
138
|
-
ERROR_SAME_DRIVE = 143
|
139
|
-
ERROR_DIR_NOT_ROOT = 144
|
140
|
-
ERROR_DIR_NOT_EMPTY = 145
|
141
|
-
ERROR_IS_SUBST_PATH = 146
|
142
|
-
ERROR_IS_JOIN_PATH = 147
|
143
|
-
ERROR_PATH_BUSY = 148
|
144
|
-
ERROR_IS_SUBST_TARGET = 149
|
145
|
-
ERROR_SYSTEM_TRACE = 150 # system trace error
|
146
|
-
ERROR_INVALID_EVENT_COUNT = 151 # DosMuxSemWait errors
|
147
|
-
ERROR_TOO_MANY_MUXWAITERS = 152
|
148
|
-
ERROR_INVALID_LIST_FORMAT = 153
|
149
|
-
ERROR_LABEL_TOO_LONG = 154
|
150
|
-
ERROR_TOO_MANY_TCBS = 155
|
151
|
-
ERROR_SIGNAL_REFUSED = 156
|
152
|
-
ERROR_DISCARDED = 157
|
153
|
-
ERROR_NOT_LOCKED = 158
|
154
|
-
ERROR_BAD_THREADID_ADDR = 159
|
155
|
-
ERROR_BAD_ARGUMENTS = 160
|
156
|
-
ERROR_BAD_PATHNAME = 161
|
157
|
-
ERROR_SIGNAL_PENDING = 162
|
158
|
-
ERROR_UNCERTAIN_MEDIA = 163
|
159
|
-
ERROR_MAX_THRDS_REACHED = 164
|
160
|
-
ERROR_MONITORS_NOT_SUPPORTED = 165
|
161
|
-
|
162
|
-
ERROR_LOCK_FAILED = 167
|
163
|
-
ERROR_BUSY = 170
|
164
|
-
ERROR_CANCEL_VIOLATION = 173
|
165
|
-
ERROR_ATOMIC_LOCKS_NOT_SUPPORTED= 174
|
166
|
-
|
167
|
-
ERROR_INVALID_SEGMENT_NUMBER = 180
|
168
|
-
ERROR_INVALID_CALLGATE = 181
|
169
|
-
ERROR_INVALID_ORDINAL = 182
|
170
|
-
ERROR_ALREADY_EXISTS = 183
|
171
|
-
ERROR_NO_CHILD_PROCESS = 184
|
172
|
-
ERROR_CHILD_ALIVE_NOWAIT = 185
|
173
|
-
ERROR_INVALID_FLAG_NUMBER = 186
|
174
|
-
ERROR_SEM_NOT_FOUND = 187
|
175
|
-
ERROR_INVALID_STARTING_CODESEG = 188
|
176
|
-
ERROR_INVALID_STACKSEG = 189
|
177
|
-
ERROR_INVALID_MODULETYPE = 190
|
178
|
-
ERROR_INVALID_EXE_SIGNATURE = 191
|
179
|
-
ERROR_EXE_MARKED_INVALID = 192
|
180
|
-
ERROR_BAD_EXE_FORMAT = 193
|
181
|
-
ERROR_ITERATED_DATA_EXCEEDS_64k = 194
|
182
|
-
ERROR_INVALID_MINALLOCSIZE = 195
|
183
|
-
ERROR_DYNLINK_FROM_INVALID_RING = 196
|
184
|
-
ERROR_IOPL_NOT_ENABLED = 197
|
185
|
-
ERROR_INVALID_SEGDPL = 198
|
186
|
-
ERROR_AUTODATASEG_EXCEEDS_64k = 199
|
187
|
-
ERROR_RING2SEG_MUST_BE_MOVABLE = 200
|
188
|
-
ERROR_RELOC_CHAIN_XEEDS_SEGLIM = 201
|
189
|
-
ERROR_INFLOOP_IN_RELOC_CHAIN = 202
|
190
|
-
ERROR_ENVVAR_NOT_FOUND = 203
|
191
|
-
ERROR_NOT_CURRENT_CTRY = 204
|
192
|
-
ERROR_NO_SIGNAL_SENT = 205
|
193
|
-
ERROR_FILENAME_EXCED_RANGE = 206 # if filename > 8.3
|
194
|
-
ERROR_RING2_STACK_IN_USE = 207 # for FAPI
|
195
|
-
ERROR_META_EXPANSION_TOO_LONG = 208 # if "*a" > 8.3
|
196
|
-
ERROR_INVALID_SIGNAL_NUMBER = 209
|
197
|
-
ERROR_THREAD_1_INACTIVE = 210
|
198
|
-
ERROR_INFO_NOT_AVAIL = 211 #@@ PTM 5550
|
199
|
-
ERROR_LOCKED = 212
|
200
|
-
ERROR_BAD_DYNALINK = 213 #@@ PTM 5760
|
201
|
-
ERROR_TOO_MANY_MODULES = 214
|
202
|
-
ERROR_NESTING_NOT_ALLOWED = 215
|
203
|
-
ERROR_EXE_MACHINE_TYPE_MISMATCH = 216
|
204
|
-
|
205
|
-
ERROR_BAD_PIPE = 230
|
206
|
-
ERROR_PIPE_BUSY = 231
|
207
|
-
ERROR_NO_DATA = 232
|
208
|
-
ERROR_PIPE_NOT_CONNECTED = 233
|
209
|
-
ERROR_MORE_DATA = 234
|
210
|
-
|
211
|
-
ERROR_VC_DISCONNECTED = 240
|
212
|
-
ERROR_INVALID_EA_NAME = 254
|
213
|
-
ERROR_EA_LIST_INCONSISTENT = 255
|
214
|
-
ERROR_NO_MORE_ITEMS = 259
|
215
|
-
ERROR_CANNOT_COPY = 266
|
216
|
-
ERROR_DIRECTORY = 267
|
217
|
-
ERROR_EAS_DIDNT_FIT = 275
|
218
|
-
ERROR_EA_FILE_CORRUPT = 276
|
219
|
-
ERROR_EA_TABLE_FULL = 277
|
220
|
-
ERROR_INVALID_EA_HANDLE = 278
|
221
|
-
ERROR_EAS_NOT_SUPPORTED = 282
|
222
|
-
ERROR_NOT_OWNER = 288
|
223
|
-
ERROR_TOO_MANY_POSTS = 298
|
224
|
-
ERROR_PARTIAL_COPY = 299
|
225
|
-
ERROR_OPLOCK_NOT_GRANTED = 300
|
226
|
-
ERROR_INVALID_OPLOCK_PROTOCOL = 301
|
227
|
-
ERROR_DISK_TOO_FRAGMENTED = 302
|
228
|
-
ERROR_MR_MID_NOT_FOUND = 317
|
229
|
-
ERROR_SCOPE_NOT_FOUND = 318
|
230
|
-
ERROR_FAIL_NOACTION_REBOOT = 350
|
231
|
-
ERROR_FAIL_SHUTDOWN = 351
|
232
|
-
ERROR_FAIL_RESTART = 352
|
233
|
-
ERROR_MAX_SESSIONS_REACHED = 353
|
234
|
-
ERROR_INVALID_ADDRESS = 487
|
235
|
-
ERROR_USER_PROFILE_LOAD = 500
|
236
|
-
ERROR_ARITHMETIC_OVERFLOW = 534
|
237
|
-
ERROR_PIPE_CONNECTED = 535
|
238
|
-
ERROR_PIPE_LISTENING = 536
|
239
|
-
|
240
|
-
ERROR_EA_ACCESS_DENIED = 994
|
241
|
-
ERROR_OPERATION_ABORTED = 995
|
242
|
-
ERROR_IO_INCOMPLETE = 996
|
243
|
-
ERROR_IO_PENDING = 997
|
244
|
-
ERROR_NOACCESS = 998
|
245
|
-
ERROR_SWAPERROR = 999
|
246
|
-
|
247
|
-
ERROR_STACK_OVERFLOW = 1001
|
248
|
-
ERROR_INVALID_MESSAGE = 1002
|
249
|
-
ERROR_CAN_NOT_COMPLETE = 1003
|
250
|
-
ERROR_INVALID_FLAGS = 1004
|
251
|
-
ERROR_UNRECOGNIZED_VOLUME = 1005
|
252
|
-
ERROR_FILE_INVALID = 1006
|
253
|
-
ERROR_FULLSCREEN_MODE = 1007
|
254
|
-
ERROR_NO_TOKEN = 1008
|
255
|
-
ERROR_BADDB = 1009
|
256
|
-
ERROR_BADKEY = 1010
|
257
|
-
ERROR_CANTOPEN = 1011
|
258
|
-
ERROR_CANTREAD = 1012
|
259
|
-
ERROR_CANTWRITE = 1013
|
260
|
-
ERROR_REGISTRY_RECOVERED = 1014
|
261
|
-
ERROR_REGISTRY_CORRUPT = 1015
|
262
|
-
ERROR_REGISTRY_IO_FAILED = 1016
|
263
|
-
ERROR_NOT_REGISTRY_FILE = 1017
|
264
|
-
ERROR_KEY_DELETED = 1018
|
265
|
-
ERROR_NO_LOG_SPACE = 1019
|
266
|
-
ERROR_KEY_HAS_CHILDREN = 1020
|
267
|
-
ERROR_CHILD_MUST_BE_VOLATILE = 1021
|
268
|
-
ERROR_NOTIFY_ENUM_DIR = 1022
|
269
|
-
ERROR_DEPENDENT_SERVICES_RUNNING = 1051
|
270
|
-
ERROR_INVALID_SERVICE_CONTROL = 1052
|
271
|
-
ERROR_SERVICE_REQUEST_TIMEOUT = 1053
|
272
|
-
ERROR_SERVICE_NO_THREAD = 1054
|
273
|
-
ERROR_SERVICE_DATABASE_LOCKED = 1055
|
274
|
-
ERROR_SERVICE_ALREADY_RUNNING = 1056
|
275
|
-
ERROR_INVALID_SERVICE_ACCOUNT = 1057
|
276
|
-
ERROR_SERVICE_DISABLED = 1058
|
277
|
-
ERROR_CIRCULAR_DEPENDENCY = 1059
|
278
|
-
ERROR_SERVICE_DOES_NOT_EXIST = 1060
|
279
|
-
ERROR_SERVICE_CANNOT_ACCEPT_CTRL = 1061
|
280
|
-
ERROR_SERVICE_NOT_ACTIVE = 1062
|
281
|
-
ERROR_FAILED_SERVICE_CONTROLLER_CONNECT = 1063
|
282
|
-
ERROR_EXCEPTION_IN_SERVICE = 1064
|
283
|
-
ERROR_DATABASE_DOES_NOT_EXIST = 1065
|
284
|
-
ERROR_SERVICE_SPECIFIC_ERROR = 1066
|
285
|
-
ERROR_PROCESS_ABORTED = 1067
|
286
|
-
ERROR_SERVICE_DEPENDENCY_FAIL = 1068
|
287
|
-
ERROR_SERVICE_LOGON_FAILED = 1069
|
288
|
-
ERROR_SERVICE_START_HANG = 1070
|
289
|
-
ERROR_INVALID_SERVICE_LOCK = 1071
|
290
|
-
ERROR_SERVICE_MARKED_FOR_DELETE = 1072
|
291
|
-
ERROR_SERVICE_EXISTS = 1073
|
292
|
-
ERROR_ALREADY_RUNNING_LKG = 1074
|
293
|
-
ERROR_SERVICE_DEPENDENCY_DELETED = 1075
|
294
|
-
ERROR_BOOT_ALREADY_ACCEPTED = 1076
|
295
|
-
ERROR_SERVICE_NEVER_STARTED = 1077
|
296
|
-
ERROR_DUPLICATE_SERVICE_NAME = 1078
|
297
|
-
ERROR_DIFFERENT_SERVICE_ACCOUNT = 1079
|
298
|
-
ERROR_CANNOT_DETECT_DRIVER_FAILURE = 1080
|
299
|
-
ERROR_CANNOT_DETECT_PROCESS_ABORT = 1081
|
300
|
-
ERROR_NO_RECOVERY_PROGRAM = 1082
|
301
|
-
ERROR_SERVICE_NOT_IN_EXE = 1083
|
302
|
-
ERROR_END_OF_MEDIA = 1100
|
303
|
-
ERROR_FILEMARK_DETECTED = 1101
|
304
|
-
ERROR_BEGINNING_OF_MEDIA = 1102
|
305
|
-
ERROR_SETMARK_DETECTED = 1103
|
306
|
-
ERROR_NO_DATA_DETECTED = 1104
|
307
|
-
ERROR_PARTITION_FAILURE = 1105
|
308
|
-
ERROR_INVALID_BLOCK_LENGTH = 1106
|
309
|
-
ERROR_DEVICE_NOT_PARTITIONED = 1107
|
310
|
-
ERROR_UNABLE_TO_LOCK_MEDIA = 1108
|
311
|
-
ERROR_UNABLE_TO_UNLOAD_MEDIA = 1109
|
312
|
-
ERROR_MEDIA_CHANGED = 1110
|
313
|
-
ERROR_BUS_RESET = 1111
|
314
|
-
ERROR_NO_MEDIA_IN_DRIVE = 1112
|
315
|
-
ERROR_NO_UNICODE_TRANSLATION = 1113
|
316
|
-
ERROR_DLL_INIT_FAILED = 1114
|
317
|
-
ERROR_SHUTDOWN_IN_PROGRESS = 1115
|
318
|
-
ERROR_NO_SHUTDOWN_IN_PROGRESS = 1116
|
319
|
-
ERROR_IO_DEVICE = 1117
|
320
|
-
ERROR_SERIAL_NO_DEVICE = 1118
|
321
|
-
ERROR_IRQ_BUSY = 1119
|
322
|
-
ERROR_MORE_WRITES = 1120
|
323
|
-
ERROR_COUNTER_TIMEOUT = 1121
|
324
|
-
ERROR_FLOPPY_ID_MARK_NOT_FOUND = 1122
|
325
|
-
ERROR_FLOPPY_WRONG_CYLINDER = 1123
|
326
|
-
ERROR_FLOPPY_UNKNOWN_ERROR = 1124
|
327
|
-
ERROR_FLOPPY_BAD_REGISTERS = 1125
|
328
|
-
ERROR_DISK_RECALIBRATE_FAILED = 1126
|
329
|
-
ERROR_DISK_OPERATION_FAILED = 1127
|
330
|
-
ERROR_DISK_RESET_FAILED = 1128
|
331
|
-
ERROR_EOM_OVERFLOW = 1129
|
332
|
-
ERROR_NOT_ENOUGH_SERVER_MEMORY = 1130
|
333
|
-
ERROR_POSSIBLE_DEADLOCK = 1131
|
334
|
-
ERROR_MAPPED_ALIGNMENT = 1132
|
335
|
-
ERROR_SET_POWER_STATE_VETOED = 1140
|
336
|
-
ERROR_SET_POWER_STATE_FAILED = 1141
|
337
|
-
ERROR_TOO_MANY_LINKS = 1142
|
338
|
-
ERROR_OLD_WIN_VERSION = 1150
|
339
|
-
ERROR_APP_WRONG_OS = 1151
|
340
|
-
ERROR_SINGLE_INSTANCE_APP = 1152
|
341
|
-
ERROR_RMODE_APP = 1153
|
342
|
-
ERROR_INVALID_DLL = 1154
|
343
|
-
ERROR_NO_ASSOCIATION = 1155
|
344
|
-
ERROR_DDE_FAIL = 1156
|
345
|
-
ERROR_DLL_NOT_FOUND = 1157
|
346
|
-
ERROR_NO_MORE_USER_HANDLES = 1158
|
347
|
-
ERROR_MESSAGE_SYNC_ONLY = 1159
|
348
|
-
ERROR_SOURCE_ELEMENT_EMPTY = 1160
|
349
|
-
ERROR_DESTINATION_ELEMENT_FULL = 1161
|
350
|
-
ERROR_ILLEGAL_ELEMENT_ADDRESS = 1162
|
351
|
-
ERROR_MAGAZINE_NOT_PRESENT = 1163
|
352
|
-
ERROR_DEVICE_REINITIALIZATION_NEEDED = 1164
|
353
|
-
ERROR_DEVICE_REQUIRES_CLEANING = 1165
|
354
|
-
ERROR_DEVICE_DOOR_OPEN = 1166
|
355
|
-
ERROR_DEVICE_NOT_CONNECTED = 1167
|
356
|
-
ERROR_NOT_FOUND = 1168
|
357
|
-
ERROR_NO_MATCH = 1169
|
358
|
-
ERROR_SET_NOT_FOUND = 1170
|
359
|
-
ERROR_POINT_NOT_FOUND = 1171
|
360
|
-
ERROR_NO_TRACKING_SERVICE = 1172
|
361
|
-
ERROR_NO_VOLUME_ID = 1173
|
362
|
-
ERROR_UNABLE_TO_REMOVE_REPLACED = 1175
|
363
|
-
ERROR_UNABLE_TO_MOVE_REPLACEMENT = 1176
|
364
|
-
ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 = 1177
|
365
|
-
ERROR_JOURNAL_DELETE_IN_PROGRESS = 1178
|
366
|
-
ERROR_JOURNAL_NOT_ACTIVE = 1179
|
367
|
-
ERROR_POTENTIAL_FILE_FOUND = 1180
|
368
|
-
ERROR_JOURNAL_ENTRY_DELETED = 1181
|
369
|
-
ERROR_BAD_DEVICE = 1200
|
370
|
-
ERROR_CONNECTION_UNAVAIL = 1201
|
371
|
-
ERROR_DEVICE_ALREADY_REMEMBERED = 1202
|
372
|
-
ERROR_NO_NET_OR_BAD_PATH = 1203
|
373
|
-
ERROR_BAD_PROVIDER = 1204
|
374
|
-
ERROR_CANNOT_OPEN_PROFILE = 1205
|
375
|
-
ERROR_BAD_PROFILE = 1206
|
376
|
-
ERROR_NOT_CONTAINER = 1207
|
377
|
-
ERROR_EXTENDED_ERROR = 1208
|
378
|
-
ERROR_INVALID_GROUPNAME = 1209
|
379
|
-
ERROR_INVALID_COMPUTERNAME = 1210
|
380
|
-
ERROR_INVALID_EVENTNAME = 1211
|
381
|
-
ERROR_INVALID_DOMAINNAME = 1212
|
382
|
-
ERROR_INVALID_SERVICENAME = 1213
|
383
|
-
ERROR_INVALID_NETNAME = 1214
|
384
|
-
ERROR_INVALID_SHARENAME = 1215
|
385
|
-
ERROR_INVALID_PASSWORDNAME = 1216
|
386
|
-
ERROR_INVALID_MESSAGENAME = 1217
|
387
|
-
ERROR_INVALID_MESSAGEDEST = 1218
|
388
|
-
ERROR_SESSION_CREDENTIAL_CONFLICT = 1219
|
389
|
-
ERROR_REMOTE_SESSION_LIMIT_EXCEEDED = 1220
|
390
|
-
ERROR_DUP_DOMAINNAME = 1221
|
391
|
-
ERROR_NO_NETWORK = 1222
|
392
|
-
ERROR_CANCELLED = 1223
|
393
|
-
ERROR_USER_MAPPED_FILE = 1224
|
394
|
-
ERROR_CONNECTION_REFUSED = 1225
|
395
|
-
ERROR_GRACEFUL_DISCONNECT = 1226
|
396
|
-
ERROR_ADDRESS_ALREADY_ASSOCIATED = 1227
|
397
|
-
ERROR_ADDRESS_NOT_ASSOCIATED = 1228
|
398
|
-
ERROR_CONNECTION_INVALID = 1229
|
399
|
-
ERROR_CONNECTION_ACTIVE = 1230
|
400
|
-
ERROR_NETWORK_UNREACHABLE = 1231
|
401
|
-
ERROR_HOST_UNREACHABLE = 1232
|
402
|
-
ERROR_PROTOCOL_UNREACHABLE = 1233
|
403
|
-
ERROR_PORT_UNREACHABLE = 1234
|
404
|
-
ERROR_REQUEST_ABORTED = 1235
|
405
|
-
ERROR_CONNECTION_ABORTED = 1236
|
406
|
-
ERROR_RETRY = 1237
|
407
|
-
ERROR_CONNECTION_COUNT_LIMIT = 1238
|
408
|
-
ERROR_LOGIN_TIME_RESTRICTION = 1239
|
409
|
-
ERROR_LOGIN_WKSTA_RESTRICTION = 1240
|
410
|
-
ERROR_INCORRECT_ADDRESS = 1241
|
411
|
-
ERROR_ALREADY_REGISTERED = 1242
|
412
|
-
ERROR_SERVICE_NOT_FOUND = 1243
|
413
|
-
ERROR_NOT_AUTHENTICATED = 1244
|
414
|
-
ERROR_NOT_LOGGED_ON = 1245
|
415
|
-
ERROR_CONTINUE = 1246
|
416
|
-
ERROR_ALREADY_INITIALIZED = 1247
|
417
|
-
ERROR_NO_MORE_DEVICES = 1248
|
418
|
-
ERROR_NO_SUCH_SITE = 1249
|
419
|
-
ERROR_DOMAIN_CONTROLLER_EXISTS = 1250
|
420
|
-
ERROR_ONLY_IF_CONNECTED = 1251
|
421
|
-
ERROR_OVERRIDE_NOCHANGES = 1252
|
422
|
-
ERROR_BAD_USER_PROFILE = 1253
|
423
|
-
ERROR_NOT_SUPPORTED_ON_SBS = 1254
|
424
|
-
ERROR_SERVER_SHUTDOWN_IN_PROGRESS = 1255
|
425
|
-
ERROR_HOST_DOWN = 1256
|
426
|
-
ERROR_ACCESS_DISABLED_BY_POLICY = 1260
|
427
|
-
ERROR_REG_NAT_CONSUMPTION = 1261
|
428
|
-
ERROR_PKINIT_FAILURE = 1263
|
429
|
-
ERROR_SMARTCARD_SUBSYSTEM_FAILURE = 1264
|
430
|
-
ERROR_DOWNGRADE_DETECTED = 1265
|
431
|
-
ERROR_MACHINE_LOCKED = 1271
|
432
|
-
ERROR_CALLBACK_SUPPLIED_INVALID_DATA = 1273
|
433
|
-
ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED= 1274
|
434
|
-
ERROR_DRIVER_BLOCKED = 1275
|
435
|
-
ERROR_INVALID_IMPORT_OF_NON_DLL = 1276
|
436
|
-
ERROR_NOT_ALL_ASSIGNED = 1300
|
437
|
-
ERROR_SOME_NOT_MAPPED = 1301
|
438
|
-
ERROR_NO_QUOTAS_FOR_ACCOUNT = 1302
|
439
|
-
ERROR_LOCAL_USER_SESSION_KEY = 1303
|
440
|
-
ERROR_NULL_LM_PASSWORD = 1304
|
441
|
-
ERROR_UNKNOWN_REVISION = 1305
|
442
|
-
ERROR_REVISION_MISMATCH = 1306
|
443
|
-
ERROR_INVALID_OWNER = 1307
|
444
|
-
ERROR_INVALID_PRIMARY_GROUP = 1308
|
445
|
-
ERROR_NO_IMPERSONATION_TOKEN = 1309
|
446
|
-
ERROR_CANT_DISABLE_MANDATORY = 1310
|
447
|
-
ERROR_NO_LOGON_SERVERS = 1311
|
448
|
-
ERROR_NO_SUCH_LOGON_SESSION = 1312
|
449
|
-
ERROR_NO_SUCH_PRIVILEGE = 1313
|
450
|
-
ERROR_PRIVILEGE_NOT_HELD = 1314
|
451
|
-
ERROR_INVALID_ACCOUNT_NAME = 1315
|
452
|
-
ERROR_USER_EXISTS = 1316
|
453
|
-
ERROR_NO_SUCH_USER = 1317
|
454
|
-
ERROR_GROUP_EXISTS = 1318
|
455
|
-
ERROR_NO_SUCH_GROUP = 1319
|
456
|
-
ERROR_MEMBER_IN_GROUP = 1320
|
457
|
-
ERROR_MEMBER_NOT_IN_GROUP = 1321
|
458
|
-
ERROR_LAST_ADMIN = 1322
|
459
|
-
ERROR_WRONG_PASSWORD = 1323
|
460
|
-
ERROR_ILL_FORMED_PASSWORD = 1324
|
461
|
-
ERROR_PASSWORD_RESTRICTION = 1325
|
462
|
-
ERROR_LOGON_FAILURE = 1326
|
463
|
-
ERROR_ACCOUNT_RESTRICTION = 1327
|
464
|
-
ERROR_INVALID_LOGON_HOURS = 1328
|
465
|
-
ERROR_INVALID_WORKSTATION = 1329
|
466
|
-
ERROR_PASSWORD_EXPIRED = 1330
|
467
|
-
ERROR_ACCOUNT_DISABLED = 1331
|
468
|
-
ERROR_NONE_MAPPED = 1332
|
469
|
-
ERROR_TOO_MANY_LUIDS_REQUESTED = 1333
|
470
|
-
ERROR_LUIDS_EXHAUSTED = 1334
|
471
|
-
ERROR_INVALID_SUB_AUTHORITY = 1335
|
472
|
-
ERROR_INVALID_ACL = 1336
|
473
|
-
ERROR_INVALID_SID = 1337
|
474
|
-
ERROR_INVALID_SECURITY_DESCR = 1338
|
475
|
-
ERROR_BAD_INHERITANCE_ACL = 1340
|
476
|
-
ERROR_SERVER_DISABLED = 1341
|
477
|
-
ERROR_SERVER_NOT_DISABLED = 1342
|
478
|
-
ERROR_INVALID_ID_AUTHORITY = 1343
|
479
|
-
ERROR_ALLOTTED_SPACE_EXCEEDED = 1344
|
480
|
-
ERROR_INVALID_GROUP_ATTRIBUTES = 1345
|
481
|
-
ERROR_BAD_IMPERSONATION_LEVEL = 1346
|
482
|
-
ERROR_CANT_OPEN_ANONYMOUS = 1347
|
483
|
-
ERROR_BAD_VALIDATION_CLASS = 1348
|
484
|
-
ERROR_BAD_TOKEN_TYPE = 1349
|
485
|
-
ERROR_NO_SECURITY_ON_OBJECT = 1350
|
486
|
-
ERROR_CANT_ACCESS_DOMAIN_INFO = 1351
|
487
|
-
ERROR_INVALID_SERVER_STATE = 1352
|
488
|
-
ERROR_INVALID_DOMAIN_STATE = 1353
|
489
|
-
ERROR_INVALID_DOMAIN_ROLE = 1354
|
490
|
-
ERROR_NO_SUCH_DOMAIN = 1355
|
491
|
-
ERROR_DOMAIN_EXISTS = 1356
|
492
|
-
ERROR_DOMAIN_LIMIT_EXCEEDED = 1357
|
493
|
-
ERROR_INTERNAL_DB_CORRUPTION = 1358
|
494
|
-
ERROR_INTERNAL_ERROR = 1359
|
495
|
-
ERROR_GENERIC_NOT_MAPPED = 1360
|
496
|
-
ERROR_BAD_DESCRIPTOR_FORMAT = 1361
|
497
|
-
ERROR_NOT_LOGON_PROCESS = 1362
|
498
|
-
ERROR_LOGON_SESSION_EXISTS = 1363
|
499
|
-
ERROR_NO_SUCH_PACKAGE = 1364
|
500
|
-
ERROR_BAD_LOGON_SESSION_STATE = 1365
|
501
|
-
ERROR_LOGON_SESSION_COLLISION = 1366
|
502
|
-
ERROR_INVALID_LOGON_TYPE = 1367
|
503
|
-
ERROR_CANNOT_IMPERSONATE = 1368
|
504
|
-
ERROR_RXACT_INVALID_STATE = 1369
|
505
|
-
ERROR_RXACT_COMMIT_FAILURE = 1370
|
506
|
-
ERROR_SPECIAL_ACCOUNT = 1371
|
507
|
-
ERROR_SPECIAL_GROUP = 1372
|
508
|
-
ERROR_SPECIAL_USER = 1373
|
509
|
-
ERROR_MEMBERS_PRIMARY_GROUP = 1374
|
510
|
-
ERROR_TOKEN_ALREADY_IN_USE = 1375
|
511
|
-
ERROR_NO_SUCH_ALIAS = 1376
|
512
|
-
ERROR_MEMBER_NOT_IN_ALIAS = 1377
|
513
|
-
ERROR_MEMBER_IN_ALIAS = 1378
|
514
|
-
ERROR_ALIAS_EXISTS = 1379
|
515
|
-
ERROR_LOGON_NOT_GRANTED = 1380
|
516
|
-
ERROR_TOO_MANY_SECRETS = 1381
|
517
|
-
ERROR_SECRET_TOO_LONG = 1382
|
518
|
-
ERROR_INTERNAL_DB_ERROR = 1383
|
519
|
-
ERROR_TOO_MANY_CONTEXT_IDS = 1384
|
520
|
-
ERROR_LOGON_TYPE_NOT_GRANTED = 1385
|
521
|
-
ERROR_NT_CROSS_ENCRYPTION_REQUIRED = 1386
|
522
|
-
ERROR_NO_SUCH_MEMBER = 1387
|
523
|
-
ERROR_INVALID_MEMBER = 1388
|
524
|
-
ERROR_TOO_MANY_SIDS = 1389
|
525
|
-
ERROR_LM_CROSS_ENCRYPTION_REQUIRED = 1390
|
526
|
-
ERROR_NO_INHERITANCE = 1391
|
527
|
-
ERROR_FILE_CORRUPT = 1392
|
528
|
-
ERROR_DISK_CORRUPT = 1393
|
529
|
-
ERROR_NO_USER_SESSION_KEY = 1394
|
530
|
-
ERROR_LICENSE_QUOTA_EXCEEDED = 1395
|
531
|
-
ERROR_WRONG_TARGET_NAME = 1396
|
532
|
-
ERROR_MUTUAL_AUTH_FAILED = 1397
|
533
|
-
ERROR_TIME_SKEW = 1398
|
534
|
-
ERROR_CURRENT_DOMAIN_NOT_ALLOWED = 1399
|
535
|
-
ERROR_INVALID_WINDOW_HANDLE = 1400
|
536
|
-
ERROR_INVALID_MENU_HANDLE = 1401
|
537
|
-
ERROR_INVALID_CURSOR_HANDLE = 1402
|
538
|
-
ERROR_INVALID_ACCEL_HANDLE = 1403
|
539
|
-
ERROR_INVALID_HOOK_HANDLE = 1404
|
540
|
-
ERROR_INVALID_DWP_HANDLE = 1405
|
541
|
-
ERROR_TLW_WITH_WSCHILD = 1406
|
542
|
-
ERROR_CANNOT_FIND_WND_CLASS = 1407
|
543
|
-
ERROR_WINDOW_OF_OTHER_THREAD = 1408
|
544
|
-
ERROR_HOTKEY_ALREADY_REGISTERED = 1409
|
545
|
-
ERROR_CLASS_ALREADY_EXISTS = 1410
|
546
|
-
ERROR_CLASS_DOES_NOT_EXIST = 1411
|
547
|
-
ERROR_CLASS_HAS_WINDOWS = 1412
|
548
|
-
ERROR_INVALID_INDEX = 1413
|
549
|
-
ERROR_INVALID_ICON_HANDLE = 1414
|
550
|
-
ERROR_PRIVATE_DIALOG_INDEX = 1415
|
551
|
-
ERROR_LISTBOX_ID_NOT_FOUND = 1416
|
552
|
-
ERROR_NO_WILDCARD_CHARACTERS = 1417
|
553
|
-
ERROR_CLIPBOARD_NOT_OPEN = 1418
|
554
|
-
ERROR_HOTKEY_NOT_REGISTERED = 1419
|
555
|
-
ERROR_WINDOW_NOT_DIALOG = 1420
|
556
|
-
ERROR_CONTROL_ID_NOT_FOUND = 1421
|
557
|
-
ERROR_INVALID_COMBOBOX_MESSAGE = 1422
|
558
|
-
ERROR_WINDOW_NOT_COMBOBOX = 1423
|
559
|
-
ERROR_INVALID_EDIT_HEIGHT = 1424
|
560
|
-
ERROR_DC_NOT_FOUND = 1425
|
561
|
-
ERROR_INVALID_HOOK_FILTER = 1426
|
562
|
-
ERROR_INVALID_FILTER_PROC = 1427
|
563
|
-
ERROR_HOOK_NEEDS_HMOD = 1428
|
564
|
-
ERROR_GLOBAL_ONLY_HOOK = 1429
|
565
|
-
ERROR_JOURNAL_HOOK_SET = 1430
|
566
|
-
ERROR_HOOK_NOT_INSTALLED = 1431
|
567
|
-
ERROR_INVALID_LB_MESSAGE = 1432
|
568
|
-
ERROR_SETCOUNT_ON_BAD_LB = 1433
|
569
|
-
ERROR_LB_WITHOUT_TABSTOPS = 1434
|
570
|
-
ERROR_DESTROY_OBJECT_OF_OTHER_THREAD = 1435
|
571
|
-
ERROR_CHILD_WINDOW_MENU = 1436
|
572
|
-
ERROR_NO_SYSTEM_MENU = 1437
|
573
|
-
ERROR_INVALID_MSGBOX_STYLE = 1438
|
574
|
-
ERROR_INVALID_SPI_VALUE = 1439
|
575
|
-
ERROR_SCREEN_ALREADY_LOCKED = 1440
|
576
|
-
ERROR_HWNDS_HAVE_DIFF_PARENT = 1441
|
577
|
-
ERROR_NOT_CHILD_WINDOW = 1442
|
578
|
-
ERROR_INVALID_GW_COMMAND = 1443
|
579
|
-
ERROR_INVALID_THREAD_ID = 1444
|
580
|
-
ERROR_NON_MDICHILD_WINDOW = 1445
|
581
|
-
ERROR_POPUP_ALREADY_ACTIVE = 1446
|
582
|
-
ERROR_NO_SCROLLBARS = 1447
|
583
|
-
ERROR_INVALID_SCROLLBAR_RANGE = 1448
|
584
|
-
ERROR_INVALID_SHOWWIN_COMMAND = 1449
|
585
|
-
ERROR_NO_SYSTEM_RESOURCES = 1450
|
586
|
-
ERROR_NONPAGED_SYSTEM_RESOURCES = 1451
|
587
|
-
ERROR_PAGED_SYSTEM_RESOURCES = 1452
|
588
|
-
ERROR_WORKING_SET_QUOTA = 1453
|
589
|
-
ERROR_PAGEFILE_QUOTA = 1454
|
590
|
-
ERROR_COMMITMENT_LIMIT = 1455
|
591
|
-
ERROR_MENU_ITEM_NOT_FOUND = 1456
|
592
|
-
ERROR_INVALID_KEYBOARD_HANDLE = 1457
|
593
|
-
ERROR_HOOK_TYPE_NOT_ALLOWED = 1458
|
594
|
-
ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION = 1459
|
595
|
-
ERROR_TIMEOUT = 1460
|
596
|
-
ERROR_INVALID_MONITOR_HANDLE = 1461
|
597
|
-
ERROR_EVENTLOG_FILE_CORRUPT = 1500
|
598
|
-
ERROR_EVENTLOG_CANT_START = 1501
|
599
|
-
ERROR_LOG_FILE_FULL = 1502
|
600
|
-
ERROR_EVENTLOG_FILE_CHANGED = 1503
|
601
|
-
ERROR_INVALID_TASK_NAME = 1550
|
602
|
-
ERROR_INVALID_TASK_INDEX = 1551
|
603
|
-
ERROR_THREAD_ALREADY_IN_TASK = 1552
|
604
|
-
ERROR_INSTALL_SERVICE_FAILURE = 1601
|
605
|
-
ERROR_INSTALL_USEREXIT = 1602
|
606
|
-
ERROR_INSTALL_FAILURE = 1603
|
607
|
-
ERROR_INSTALL_SUSPEND = 1604
|
608
|
-
ERROR_UNKNOWN_PRODUCT = 1605
|
609
|
-
ERROR_UNKNOWN_FEATURE = 1606
|
610
|
-
ERROR_UNKNOWN_COMPONENT = 1607
|
611
|
-
ERROR_UNKNOWN_PROPERTY = 1608
|
612
|
-
ERROR_INVALID_HANDLE_STATE = 1609
|
613
|
-
ERROR_BAD_CONFIGURATION = 1610
|
614
|
-
ERROR_INDEX_ABSENT = 1611
|
615
|
-
ERROR_INSTALL_SOURCE_ABSENT = 1612
|
616
|
-
ERROR_INSTALL_PACKAGE_VERSION = 1613
|
617
|
-
ERROR_PRODUCT_UNINSTALLED = 1614
|
618
|
-
ERROR_BAD_QUERY_SYNTAX = 1615
|
619
|
-
ERROR_INVALID_FIELD = 1616
|
620
|
-
ERROR_DEVICE_REMOVED = 1617
|
621
|
-
ERROR_INSTALL_ALREADY_RUNNING = 1618
|
622
|
-
ERROR_INSTALL_PACKAGE_OPEN_FAILED = 1619
|
623
|
-
ERROR_INSTALL_PACKAGE_INVALID = 1620
|
624
|
-
ERROR_INSTALL_UI_FAILURE = 1621
|
625
|
-
ERROR_INSTALL_LOG_FAILURE = 1622
|
626
|
-
ERROR_INSTALL_LANGUAGE_UNSUPPORTED = 1623
|
627
|
-
ERROR_INSTALL_TRANSFORM_FAILURE = 1624
|
628
|
-
ERROR_INSTALL_PACKAGE_REJECTED = 1625
|
629
|
-
ERROR_FUNCTION_NOT_CALLED = 1626
|
630
|
-
ERROR_FUNCTION_FAILED = 1627
|
631
|
-
ERROR_INVALID_TABLE = 1628
|
632
|
-
ERROR_DATATYPE_MISMATCH = 1629
|
633
|
-
ERROR_UNSUPPORTED_TYPE = 1630
|
634
|
-
ERROR_CREATE_FAILED = 1631
|
635
|
-
ERROR_INSTALL_TEMP_UNWRITABLE = 1632
|
636
|
-
ERROR_INSTALL_PLATFORM_UNSUPPORTED = 1633
|
637
|
-
ERROR_INSTALL_NOTUSED = 1634
|
638
|
-
ERROR_PATCH_PACKAGE_OPEN_FAILED = 1635
|
639
|
-
ERROR_PATCH_PACKAGE_INVALID = 1636
|
640
|
-
ERROR_PATCH_PACKAGE_UNSUPPORTED = 1637
|
641
|
-
ERROR_PRODUCT_VERSION = 1638
|
642
|
-
ERROR_INVALID_COMMAND_LINE = 1639
|
643
|
-
ERROR_INSTALL_REMOTE_DISALLOWED = 1640
|
644
|
-
ERROR_SUCCESS_REBOOT_INITIATED = 1641
|
645
|
-
ERROR_UNKNOWN_PATCH = 1647
|
646
|
-
RPC_S_INVALID_STRING_BINDING = 1700
|
647
|
-
RPC_S_WRONG_KIND_OF_BINDING = 1701
|
648
|
-
RPC_S_INVALID_BINDING = 1702
|
649
|
-
RPC_S_PROTSEQ_NOT_SUPPORTED = 1703
|
650
|
-
RPC_S_INVALID_RPC_PROTSEQ = 1704
|
651
|
-
RPC_S_INVALID_STRING_UUID = 1705
|
652
|
-
RPC_S_INVALID_ENDPOINT_FORMAT = 1706
|
653
|
-
RPC_S_INVALID_NET_ADDR = 1707
|
654
|
-
RPC_S_NO_ENDPOINT_FOUND = 1708
|
655
|
-
RPC_S_INVALID_TIMEOUT = 1709
|
656
|
-
RPC_S_OBJECT_NOT_FOUND = 1710
|
657
|
-
RPC_S_ALREADY_REGISTERED = 1711
|
658
|
-
RPC_S_TYPE_ALREADY_REGISTERED = 1712
|
659
|
-
RPC_S_ALREADY_LISTENING = 1713
|
660
|
-
RPC_S_NO_PROTSEQS_REGISTERED = 1714
|
661
|
-
RPC_S_NOT_LISTENING = 1715
|
662
|
-
RPC_S_UNKNOWN_MGR_TYPE = 1716
|
663
|
-
RPC_S_UNKNOWN_IF = 1717
|
664
|
-
RPC_S_NO_BINDINGS = 1718
|
665
|
-
RPC_S_NO_PROTSEQS = 1719
|
666
|
-
RPC_S_CANT_CREATE_ENDPOINT = 1720
|
667
|
-
RPC_S_OUT_OF_RESOURCES = 1721
|
668
|
-
RPC_S_SERVER_UNAVAILABLE = 1722
|
669
|
-
RPC_S_SERVER_TOO_BUSY = 1723
|
670
|
-
RPC_S_INVALID_NETWORK_OPTIONS = 1724
|
671
|
-
RPC_S_NO_CALL_ACTIVE = 1725
|
672
|
-
RPC_S_CALL_FAILED = 1726
|
673
|
-
RPC_S_CALL_FAILED_DNE = 1727
|
674
|
-
RPC_S_PROTOCOL_ERROR = 1728
|
675
|
-
RPC_S_UNSUPPORTED_TRANS_SYN = 1730
|
676
|
-
RPC_S_UNSUPPORTED_TYPE = 1732
|
677
|
-
RPC_S_INVALID_TAG = 1733
|
678
|
-
RPC_S_INVALID_BOUND = 1734
|
679
|
-
RPC_S_NO_ENTRY_NAME = 1735
|
680
|
-
RPC_S_INVALID_NAME_SYNTAX = 1736
|
681
|
-
RPC_S_UNSUPPORTED_NAME_SYNTAX = 1737
|
682
|
-
RPC_S_UUID_NO_ADDRESS = 1739
|
683
|
-
RPC_S_DUPLICATE_ENDPOINT = 1740
|
684
|
-
RPC_S_UNKNOWN_AUTHN_TYPE = 1741
|
685
|
-
RPC_S_MAX_CALLS_TOO_SMALL = 1742
|
686
|
-
RPC_S_STRING_TOO_LONG = 1743
|
687
|
-
RPC_S_PROTSEQ_NOT_FOUND = 1744
|
688
|
-
RPC_S_PROCNUM_OUT_OF_RANGE = 1745
|
689
|
-
RPC_S_BINDING_HAS_NO_AUTH = 1746
|
690
|
-
RPC_S_UNKNOWN_AUTHN_SERVICE = 1747
|
691
|
-
RPC_S_UNKNOWN_AUTHN_LEVEL = 1748
|
692
|
-
RPC_S_INVALID_AUTH_IDENTITY = 1749
|
693
|
-
RPC_S_UNKNOWN_AUTHZ_SERVICE = 1750
|
694
|
-
EPT_S_INVALID_ENTRY = 1751
|
695
|
-
EPT_S_CANT_PERFORM_OP = 1752
|
696
|
-
EPT_S_NOT_REGISTERED = 1753
|
697
|
-
RPC_S_NOTHING_TO_EXPORT = 1754
|
698
|
-
RPC_S_INCOMPLETE_NAME = 1755
|
699
|
-
RPC_S_INVALID_VERS_OPTION = 1756
|
700
|
-
RPC_S_NO_MORE_MEMBERS = 1757
|
701
|
-
RPC_S_NOT_ALL_OBJS_UNEXPORTED = 1758
|
702
|
-
RPC_S_INTERFACE_NOT_FOUND = 1759
|
703
|
-
RPC_S_ENTRY_ALREADY_EXISTS = 1760
|
704
|
-
RPC_S_ENTRY_NOT_FOUND = 1761
|
705
|
-
RPC_S_NAME_SERVICE_UNAVAILABLE = 1762
|
706
|
-
RPC_S_INVALID_NAF_ID = 1763
|
707
|
-
RPC_S_CANNOT_SUPPORT = 1764
|
708
|
-
RPC_S_NO_CONTEXT_AVAILABLE = 1765
|
709
|
-
RPC_S_INTERNAL_ERROR = 1766
|
710
|
-
RPC_S_ZERO_DIVIDE = 1767
|
711
|
-
RPC_S_ADDRESS_ERROR = 1768
|
712
|
-
RPC_S_FP_DIV_ZERO = 1769
|
713
|
-
RPC_S_FP_UNDERFLOW = 1770
|
714
|
-
RPC_S_FP_OVERFLOW = 1771
|
715
|
-
RPC_X_NO_MORE_ENTRIES = 1772
|
716
|
-
RPC_X_SS_CHAR_TRANS_OPEN_FAIL = 1773
|
717
|
-
RPC_X_SS_CHAR_TRANS_SHORT_FILE = 1774
|
718
|
-
RPC_X_SS_IN_NULL_CONTEXT = 1775
|
719
|
-
RPC_X_SS_CONTEXT_DAMAGED = 1777
|
720
|
-
RPC_X_SS_HANDLES_MISMATCH = 1778
|
721
|
-
RPC_X_SS_CANNOT_GET_CALL_HANDLE = 1779
|
722
|
-
RPC_X_NULL_REF_POINTER = 1780
|
723
|
-
RPC_X_ENUM_VALUE_OUT_OF_RANGE = 1781
|
724
|
-
RPC_X_BYTE_COUNT_TOO_SMALL = 1782
|
725
|
-
RPC_X_BAD_STUB_DATA = 1783
|
726
|
-
ERROR_INVALID_USER_BUFFER = 1784
|
727
|
-
ERROR_UNRECOGNIZED_MEDIA = 1785
|
728
|
-
ERROR_NO_TRUST_LSA_SECRET = 1786
|
729
|
-
ERROR_NO_TRUST_SAM_ACCOUNT = 1787
|
730
|
-
ERROR_TRUSTED_DOMAIN_FAILURE = 1788
|
731
|
-
ERROR_TRUSTED_RELATIONSHIP_FAILURE = 1789
|
732
|
-
ERROR_TRUST_FAILURE = 1790
|
733
|
-
RPC_S_CALL_IN_PROGRESS = 1791
|
734
|
-
ERROR_NETLOGON_NOT_STARTED = 1792
|
735
|
-
ERROR_ACCOUNT_EXPIRED = 1793
|
736
|
-
ERROR_REDIRECTOR_HAS_OPEN_HANDLES = 1794
|
737
|
-
ERROR_PRINTER_DRIVER_ALREADY_INSTALLED= 1795
|
738
|
-
ERROR_UNKNOWN_PORT = 1796
|
739
|
-
ERROR_UNKNOWN_PRINTER_DRIVER = 1797
|
740
|
-
ERROR_UNKNOWN_PRINTPROCESSOR = 1798
|
741
|
-
ERROR_INVALID_SEPARATOR_FILE = 1799
|
742
|
-
ERROR_INVALID_PRIORITY = 1800
|
743
|
-
ERROR_INVALID_PRINTER_NAME = 1801
|
744
|
-
ERROR_PRINTER_ALREADY_EXISTS = 1802
|
745
|
-
ERROR_INVALID_PRINTER_COMMAND = 1803
|
746
|
-
ERROR_INVALID_DATATYPE = 1804
|
747
|
-
ERROR_INVALID_ENVIRONMENT = 1805
|
748
|
-
RPC_S_NO_MORE_BINDINGS = 1806
|
749
|
-
ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT = 1807
|
750
|
-
ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT = 1808
|
751
|
-
ERROR_NOLOGON_SERVER_TRUST_ACCOUNT = 1809
|
752
|
-
ERROR_DOMAIN_TRUST_INCONSISTENT = 1810
|
753
|
-
ERROR_SERVER_HAS_OPEN_HANDLES = 1811
|
754
|
-
ERROR_RESOURCE_DATA_NOT_FOUND = 1812
|
755
|
-
ERROR_RESOURCE_TYPE_NOT_FOUND = 1813
|
756
|
-
ERROR_RESOURCE_NAME_NOT_FOUND = 1814
|
757
|
-
ERROR_RESOURCE_LANG_NOT_FOUND = 1815
|
758
|
-
ERROR_NOT_ENOUGH_QUOTA = 1816
|
759
|
-
RPC_S_NO_INTERFACES = 1817
|
760
|
-
RPC_S_CALL_CANCELLED = 1818
|
761
|
-
RPC_S_BINDING_INCOMPLETE = 1819
|
762
|
-
RPC_S_COMM_FAILURE = 1820
|
763
|
-
RPC_S_UNSUPPORTED_AUTHN_LEVEL = 1821
|
764
|
-
RPC_S_NO_PRINC_NAME = 1822
|
765
|
-
RPC_S_NOT_RPC_ERROR = 1823
|
766
|
-
RPC_S_UUID_LOCAL_ONLY = 1824
|
767
|
-
RPC_S_SEC_PKG_ERROR = 1825
|
768
|
-
RPC_S_NOT_CANCELLED = 1826
|
769
|
-
RPC_X_INVALID_ES_ACTION = 1827
|
770
|
-
RPC_X_WRONG_ES_VERSION = 1828
|
771
|
-
RPC_X_WRONG_STUB_VERSION = 1829
|
772
|
-
RPC_X_INVALID_PIPE_OBJECT = 1830
|
773
|
-
RPC_X_WRONG_PIPE_ORDER = 1831
|
774
|
-
RPC_X_WRONG_PIPE_VERSION = 1832
|
775
|
-
RPC_S_GROUP_MEMBER_NOT_FOUND = 1898
|
776
|
-
EPT_S_CANT_CREATE = 1899
|
777
|
-
RPC_S_INVALID_OBJECT = 1900
|
778
|
-
ERROR_INVALID_TIME = 1901
|
779
|
-
ERROR_INVALID_FORM_NAME = 1902
|
780
|
-
ERROR_INVALID_FORM_SIZE = 1903
|
781
|
-
ERROR_ALREADY_WAITING = 1904
|
782
|
-
ERROR_PRINTER_DELETED = 1905
|
783
|
-
ERROR_INVALID_PRINTER_STATE = 1906
|
784
|
-
ERROR_PASSWORD_MUST_CHANGE = 1907
|
785
|
-
ERROR_DOMAIN_CONTROLLER_NOT_FOUND = 1908
|
786
|
-
ERROR_ACCOUNT_LOCKED_OUT = 1909
|
787
|
-
OR_INVALID_OXID = 1910
|
788
|
-
OR_INVALID_OID = 1911
|
789
|
-
OR_INVALID_SET = 1912
|
790
|
-
RPC_S_SEND_INCOMPLETE = 1913
|
791
|
-
RPC_S_INVALID_ASYNC_HANDLE = 1914
|
792
|
-
RPC_S_INVALID_ASYNC_CALL = 1915
|
793
|
-
RPC_X_PIPE_CLOSED = 1916
|
794
|
-
RPC_X_PIPE_DISCIPLINE_ERROR = 1917
|
795
|
-
RPC_X_PIPE_EMPTY = 1918
|
796
|
-
ERROR_NO_SITENAME = 1919
|
797
|
-
ERROR_CANT_ACCESS_FILE = 1920
|
798
|
-
ERROR_CANT_RESOLVE_FILENAME = 1921
|
799
|
-
RPC_S_ENTRY_TYPE_MISMATCH = 1922
|
800
|
-
RPC_S_NOT_ALL_OBJS_EXPORTED = 1923
|
801
|
-
RPC_S_INTERFACE_NOT_EXPORTED = 1924
|
802
|
-
RPC_S_PROFILE_NOT_ADDED = 1925
|
803
|
-
RPC_S_PRF_ELT_NOT_ADDED = 1926
|
804
|
-
RPC_S_PRF_ELT_NOT_REMOVED = 1927
|
805
|
-
RPC_S_GRP_ELT_NOT_ADDED = 1928
|
806
|
-
RPC_S_GRP_ELT_NOT_REMOVED = 1929
|
807
|
-
ERROR_KM_DRIVER_BLOCKED = 1930
|
808
|
-
ERROR_CONTEXT_EXPIRED = 1931
|
809
|
-
ERROR_PER_USER_TRUST_QUOTA_EXCEEDED = 1932
|
810
|
-
ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED = 1933
|
811
|
-
ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED= 1934
|
812
|
-
ERROR_AUTHENTICATION_FIREWALL_FAILED = 1935
|
813
|
-
ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED= 1936
|
814
|
-
ERROR_INVALID_PIXEL_FORMAT = 2000
|
815
|
-
ERROR_BAD_DRIVER = 2001
|
816
|
-
ERROR_INVALID_WINDOW_STYLE = 2002
|
817
|
-
ERROR_METAFILE_NOT_SUPPORTED = 2003
|
818
|
-
ERROR_TRANSFORM_NOT_SUPPORTED = 2004
|
819
|
-
ERROR_CLIPPING_NOT_SUPPORTED = 2005
|
820
|
-
ERROR_INVALID_CMM = 2010
|
821
|
-
ERROR_INVALID_PROFILE = 2011
|
822
|
-
ERROR_TAG_NOT_FOUND = 2012
|
823
|
-
ERROR_TAG_NOT_PRESENT = 2013
|
824
|
-
ERROR_DUPLICATE_TAG = 2014
|
825
|
-
ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE = 2015
|
826
|
-
ERROR_PROFILE_NOT_FOUND = 2016
|
827
|
-
ERROR_INVALID_COLORSPACE = 2017
|
828
|
-
ERROR_ICM_NOT_ENABLED = 2018
|
829
|
-
ERROR_DELETING_ICM_XFORM = 2019
|
830
|
-
ERROR_INVALID_TRANSFORM = 2020
|
831
|
-
ERROR_COLORSPACE_MISMATCH = 2021
|
832
|
-
ERROR_INVALID_COLORINDEX = 2022
|
833
|
-
ERROR_CONNECTED_OTHER_PASSWORD = 2108
|
834
|
-
ERROR_BAD_USERNAME = 2202
|
835
|
-
ERROR_NOT_CONNECTED = 2250
|
836
|
-
ERROR_OPEN_FILES = 2401
|
837
|
-
ERROR_ACTIVE_CONNECTIONS = 2402
|
838
|
-
ERROR_DEVICE_IN_USE = 2404
|
839
|
-
ERROR_UNKNOWN_PRINT_MONITOR = 3000
|
840
|
-
# :startdoc:
|
841
|
-
|
842
|
-
ERROR_USER_DEFINED_BASE = 0xF000
|
843
|
-
|
844
|
-
# Flags for FormatMessage function:
|
845
|
-
|
846
|
-
FORMAT_MESSAGE_ALLOCATE_BUFFER = 0x00000100
|
847
|
-
FORMAT_MESSAGE_IGNORE_INSERTS = 0x00000200
|
848
|
-
FORMAT_MESSAGE_FROM_STRING = 0x00000400
|
849
|
-
FORMAT_MESSAGE_FROM_HMODULE = 0x00000800
|
850
|
-
FORMAT_MESSAGE_FROM_SYSTEM = 0x00001000
|
851
|
-
FORMAT_MESSAGE_ARGUMENT_ARRAY = 0x00002000
|
852
|
-
FORMAT_MESSAGE_MAX_WIDTH_MASK = 0x000000FF
|
853
|
-
|
854
|
-
# Set/GetErrorMode values:
|
855
|
-
|
856
|
-
SEM_FAILCRITICALERRORS = 0x0001
|
857
|
-
SEM_NOALIGNMENTFAULTEXCEPT = 0x0004
|
858
|
-
SEM_NOGPFAULTERRORBOX = 0x0002
|
859
|
-
SEM_NOOPENFILEERRORBOX = 0x8000
|
860
|
-
|
861
|
-
##
|
862
|
-
# FormatMessage Function
|
863
|
-
# Formats a message string. The function requires a message definition as input. The message definition
|
864
|
-
# can come from a buffer passed into the function. It can come from a message table resource in an
|
865
|
-
# already-loaded module. Or the caller can ask the function to search the system's message table
|
866
|
-
# resource(s) for the message definition. The function finds the message definition in a message table
|
867
|
-
# resource based on a message identifier and a language identifier. The function copies the formatted
|
868
|
-
# message text to an output buffer, processing any embedded insert sequences if requested.
|
869
|
-
#
|
870
|
-
# [*Syntax*] DWORD WINAPI FormatMessage( DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD
|
871
|
-
# dwLanguageId, LPTSTR lpBuffer, DWORD nSize, va_list* Arguments );
|
872
|
-
#
|
873
|
-
# dwFlags:: [in] The formatting options, and how to interpret the lpSource parameter. The low-order byte of dwFlags
|
874
|
-
# specifies how the function handles line breaks in the output buffer. The low-order byte can also
|
875
|
-
# specify the maximum width of a formatted output line. Possible values:
|
876
|
-
# - FORMAT_MESSAGE_ALLOCATE_BUFFER - The lpBuffer parameter is a pointer to a PVOID pointer, and that
|
877
|
-
# the nSize parameter specifies the minimum number of TCHARs to allocate for an output message buffer.
|
878
|
-
# The function allocates a buffer large enough to hold the formatted message, and places a pointer to
|
879
|
-
# the allocated buffer at the address specified by lpBuffer. The caller should use the LocalFree
|
880
|
-
# function to free the buffer when it is no longer needed.
|
881
|
-
# - FORMAT_MESSAGE_ARGUMENT_ARRAY - The Arguments parameter is not a va_list structure, but is a pointer
|
882
|
-
# to an array of values that represent the arguments. This flag cannot be used with 64-bit integer
|
883
|
-
# values. If you are using a 64-bit integer, you must use the va_list structure.
|
884
|
-
# - FORMAT_MESSAGE_FROM_HMODULE - The lpSource parameter is a module handle containing the message-table
|
885
|
-
# resource(s) to search. If this lpSource handle is NULL, the current process's application image file
|
886
|
-
# will be searched. This flag cannot be used with FORMAT_MESSAGE_FROM_STRING. If the module has no
|
887
|
-
# message table resource, the function fails with ERROR_RESOURCE_TYPE_NOT_FOUND.
|
888
|
-
# - FORMAT_MESSAGE_FROM_STRING - The lpSource parameter is a pointer to a null-terminated string that
|
889
|
-
# contains a message definition. The message definition may contain insert sequences, just as the
|
890
|
-
# message text in a message table resource may. Cannot be used with FORMAT_MESSAGE_FROM_HMODULE or
|
891
|
-
# FORMAT_MESSAGE_FROM_SYSTEM.
|
892
|
-
# - FORMAT_MESSAGE_FROM_SYSTEM - The function should search the system message-table resource(s) for
|
893
|
-
# the requested message. If this flag is specified with FORMAT_MESSAGE_FROM_HMODULE, the function
|
894
|
-
# searches the system message table if the message is not found in the module specified by lpSource.
|
895
|
-
# This flag cannot be used with FORMAT_MESSAGE_FROM_STRING. If this flag is specified, an application
|
896
|
-
# can pass the result of the GetLastError function to retrieve the message text for a system error.
|
897
|
-
# - FORMAT_MESSAGE_IGNORE_INSERTS - Insert sequences in the message definition are to be ignored and
|
898
|
-
# passed through to the output buffer unchanged. This flag is useful for fetching a message for later
|
899
|
-
# formatting. If this flag is set, the Arguments parameter is ignored.
|
900
|
-
# <b>The low-order byte of dwFlags can specify the maximum width of a formatted output line. The
|
901
|
-
# following are possible values of the low-order byte:</b>
|
902
|
-
# - 0 - There are no output line width restrictions. The function stores line breaks that are in the
|
903
|
-
# message definition text into the output buffer.
|
904
|
-
# - FORMAT_MESSAGE_MAX_WIDTH_MASK - The function ignores regular line breaks in the message definition
|
905
|
-
# text. The function stores hard-coded line breaks in the message definition text into the output
|
906
|
-
# buffer. The function generates no new line breaks.
|
907
|
-
# If the low-order byte is a nonzero value other than FORMAT_MESSAGE_MAX_WIDTH_MASK, it specifies the
|
908
|
-
# maximum number of characters in an output line. The function ignores regular line breaks in the
|
909
|
-
# message definition text. The function never splits a string delimited by white space across a line
|
910
|
-
# break. The function stores hard-coded line breaks in the message definition text into the output
|
911
|
-
# buffer. Hard-coded line breaks are coded with the %n escape sequence.
|
912
|
-
# lpSource:: The location of the message definition. The type of this parameter depends upon the settings in the
|
913
|
-
# dwFlags parameter.
|
914
|
-
# - dwFlags FORMAT_MESSAGE_FROM_HMODULE: Handle to the module that contains the message table to search.
|
915
|
-
# - dwFlags FORMAT_MESSAGE_FROM_STRING: Pointer to a string that consists of unformatted message text.
|
916
|
-
# It will be scanned for inserts and formatted accordingly.
|
917
|
-
# - If neither of these flags is set in dwFlags, then lpSource is ignored.
|
918
|
-
# dwMessageId:: The message identifier for the requested message. This parameter is ignored if dwFlags includes
|
919
|
-
# FORMAT_MESSAGE_FROM_STRING.
|
920
|
-
# dwLanguageId:: The language identifier for the requested message. This parameter is ignored if dwFlags includes
|
921
|
-
# FORMAT_MESSAGE_FROM_STRING. If you pass a specific LANGID in this parameter, FormatMessage will
|
922
|
-
# return a message for that LANGID only. If the function cannot find a message for that LANGID, it
|
923
|
-
# returns ERROR_RESOURCE_LANG_NOT_FOUND. If you pass in zero, FormatMessage looks for a message for
|
924
|
-
# LANGIDs in the following order:
|
925
|
-
# 1. Language neutral
|
926
|
-
# 2. Thread LANGID, based on the thread's locale value
|
927
|
-
# 3. User default LANGID, based on the user's default locale value
|
928
|
-
# 4. System default LANGID, based on the system default locale value
|
929
|
-
# 5. US English
|
930
|
-
# If FormatMessage does not locate a message for any of the preceding LANGIDs, it returns any
|
931
|
-
# language message string that is present. If that fails, it returns ERROR_RESOURCE_LANG_NOT_FOUND.
|
932
|
-
# lpBuffer:: A pointer to a buffer that receives the null-terminated string that specifies the formatted message.
|
933
|
-
# If dwFlags includes FORMAT_MESSAGE_ALLOCATE_BUFFER, the function allocates a buffer using the
|
934
|
-
# LocalAlloc function, and places the pointer to the buffer at the address specified in lpBuffer.
|
935
|
-
# This buffer cannot be larger than 64K bytes.
|
936
|
-
# nSize:: If the FORMAT_MESSAGE_ALLOCATE_BUFFER flag is not set, this parameter specifies the size of the output
|
937
|
-
# buffer, in TCHARs. If FORMAT_MESSAGE_ALLOCATE_BUFFER is set, this parameter specifies the minimum
|
938
|
-
# number of TCHARs to allocate for an output buffer. The output buffer cannot be larger than 64K bytes.
|
939
|
-
# Arguments:: An array of values that are used as insert values in the formatted message. A %1 in the format string
|
940
|
-
# indicates the first value in the Arguments array; a %2 indicates the second argument; and so on.
|
941
|
-
# The interpretation of each value depends on the formatting information associated with the insert in
|
942
|
-
# the message definition. The default is to treat each value as a pointer to a null-terminated string.
|
943
|
-
# By default, the Arguments parameter is of type va_list*, which is a language- and
|
944
|
-
# implementation-specific data type for describing a variable number of arguments. The state of the
|
945
|
-
# va_list argument is undefined upon return from the function. To use the va_list again, destroy the
|
946
|
-
# variable argument list pointer using va_end and reinitialize it with va_start.
|
947
|
-
# If you do not have a pointer of type va_list*, then specify the FORMAT_MESSAGE_ARGUMENT_ARRAY flag and
|
948
|
-
# pass a pointer to an array of DWORD_PTR values; those values are input to the message formatted as the
|
949
|
-
# insert values. Each insert must have a corresponding element in the array.
|
950
|
-
#
|
951
|
-
# *Returns*:: If the function succeeds, the return value is the number of TCHARs stored in the output
|
952
|
-
# buffer, excluding the terminating null character. If the function fails, the return value is zero.
|
953
|
-
# To get extended error information, call GetLastError.
|
954
|
-
# ---
|
955
|
-
# *Remarks*:
|
956
|
-
# Within the message text, several escape sequences are supported for dynamically formatting the
|
957
|
-
# message. These escape sequences and their meanings are shown in the following tables. All escape
|
958
|
-
# sequences start with the percent character (%).
|
959
|
-
# %0:: Terminates a message text line without a trailing new line character. This escape sequence can be
|
960
|
-
# used to build up long lines or to terminate the message itself without a trailing new line character.
|
961
|
-
# It is useful for prompt messages.
|
962
|
-
# %n!format string!:: Identifies an insert. The value of n can be in the range from 1 through 99. The format string
|
963
|
-
# (which must be surrounded by exclamation marks) is optional and defaults to !s! if not
|
964
|
-
# specified. For more information, see Format Specification Fields. The format string can
|
965
|
-
# include a width and precision specifier for strings and a width specifier for integers.
|
966
|
-
# Use an asterisk (*) to specify the width and precision. For example, %1!*.*s! or %1!*u!.
|
967
|
-
# If you do not use the width and precision specifiers, the insert numbers correspond directly
|
968
|
-
# to the input arguments. For example, if the source string is "%1 %2 %1" and the input
|
969
|
-
# arguments are "Bill" and "Bob", the formatted output string is "Bill Bob Bill".
|
970
|
-
# However, if you use a width and precision specifier, the insert numbers do not correspond
|
971
|
-
# directly to # the input arguments. For example, the insert numbers for the previous
|
972
|
-
# example could change to "%1!*.*s! %4 %5!*s!".
|
973
|
-
# The insert numbers depend on whether you use arguments array (FORMAT_MESSAGE_ARGUMENT_ARRAY)
|
974
|
-
# or a va_list. For an arguments array, the next insert number is n+2 if the previous format
|
975
|
-
# string contained one asterisk and is n+3 if two asterisks were specified. For a va_list,
|
976
|
-
# the next insert number is n+1 if the previous format string contained one asterisk and is n+2
|
977
|
-
# if two asterisks were specified. If you want to repeat "Bill", as in the previous example,
|
978
|
-
# the arguments must include "Bill" twice. E.g., if source string is "%1!*.*s! %4 %5!*s!",
|
979
|
-
# the arguments could be, 4, 2, Bill, Bob, 6, Bill (if using the FORMAT_MESSAGE_ARGUMENT_ARRAY).
|
980
|
-
# The formatted string would then be " Bi Bob Bill".
|
981
|
-
# Repeating insert numbers when the source string contains width and precision specifiers may
|
982
|
-
# not yield the intended results. If you replaced %5 with %1, the function would try to print
|
983
|
-
# a string at address 6 (likely resulting in an access violation).
|
984
|
-
# Floating-point format specifiers—e, E, f, and g—are not supported. The workaround is to use
|
985
|
-
# the StringCchPrintf function to format the floating-point number into a temporary buffer,
|
986
|
-
# then use that buffer as the insert string.
|
987
|
-
# Inserts that use the I64 prefix are treated as two 32-bit arguments. They must be used before
|
988
|
-
# subsequent arguments are used. Note that it may be easier for you to use StringCchPrintf
|
989
|
-
# instead of this prefix.
|
990
|
-
#
|
991
|
-
# Any other nondigit character following a percent character is formatted in the output message without the
|
992
|
-
# percent character. Following are some examples.
|
993
|
-
# %%:: A single percent sign.
|
994
|
-
# %space:: A single space. This format string can be used to ensure the appropriate number of trailing
|
995
|
-
# spaces in a message text line.
|
996
|
-
# %.:: A single period. This format string can be used to include a single period at the beginning of a
|
997
|
-
# line without terminating the message text definition.
|
998
|
-
# %!:: A single exclamation point. This format string can be used to include an exclamation point
|
999
|
-
# immediately after an insert without its being mistaken for the beginning of a format string.
|
1000
|
-
# %n:: A hard line break when the format string occurs at the end of a line. This format string is useful
|
1001
|
-
# when FormatMessage is supplying regular line breaks so the message fits in a certain width.
|
1002
|
-
# %r:: A hard carriage return without a trailing newline character.
|
1003
|
-
# %t:: A single tab.
|
1004
|
-
# ---
|
1005
|
-
# *Security* *Remarks*:
|
1006
|
-
# If this function is called without FORMAT_MESSAGE_IGNORE_INSERTS, the Arguments parameter must contain
|
1007
|
-
# enough parameters to satisfy all insertion sequences in the message string, and they must be of the
|
1008
|
-
# correct type. Therefore, do not use untrusted or unknown message strings with inserts enabled because
|
1009
|
-
# they can contain more insertion sequences than Arguments provides, or those they may be of the wrong
|
1010
|
-
# type. In particular, it is unsafe to take an arbitrary system error code returned from an API and use
|
1011
|
-
# FORMAT_MESSAGE_FROM_SYSTEM without FORMAT_MESSAGE_IGNORE_INSERTS.
|
1012
|
-
# ---
|
1013
|
-
# <b>Enhanced (snake_case) API: returns message instead of num_chars or *nil* if function fails</b>
|
1014
|
-
#
|
1015
|
-
# :call-seq:
|
1016
|
-
# message = format_message(dw_flags, lp_source, dw_message_id, dw_language_id, *args)
|
1017
|
-
#
|
1018
|
-
function :FormatMessage, [:DWORD, :LPCVOID, :DWORD, :DWORD, :LPTSTR, :DWORD, :varargs], :DWORD,
|
1019
|
-
&->(api, flags=FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ARGUMENT_ARRAY,
|
1020
|
-
source=nil, message_id=0, language_id=0, *args){
|
1021
|
-
buffer = FFI::MemoryPointer.new :char, 260
|
1022
|
-
args = [:int, 0] if args.empty?
|
1023
|
-
num_chars = api.call(flags, source, message_id, language_id, buffer, buffer.size, *args)
|
1024
|
-
num_chars == 0 ? nil : buffer.get_bytes(0, num_chars).strip }
|
1025
|
-
|
1026
|
-
##
|
1027
|
-
# GetLastError Function
|
1028
|
-
# Retrieves the calling thread's last-error code value. The last-error code is maintained on a
|
1029
|
-
# per-thread basis. Multiple threads do not overwrite each other's last-error code.
|
1030
|
-
# Visual Basic: Applications should call err.LastDllError instead of GetLastError.
|
1031
|
-
#
|
1032
|
-
# [*Syntax*] DWORD WINAPI GetLastError( void );
|
1033
|
-
#
|
1034
|
-
# This function has no parameters.
|
1035
|
-
#
|
1036
|
-
# *Returns*:: The return value is the calling thread's last-error code.
|
1037
|
-
# The Return Value section of the documentation for each function that sets the last-error code notes
|
1038
|
-
# the conditions under which the function sets the last-error code. Most functions that set the thread's
|
1039
|
-
# last-error code set it when they fail. However, some functions also set the last-error code when they
|
1040
|
-
# succeed. If the function is not documented to set the last-error code, the value returned by this
|
1041
|
-
# function is simply the most recent last-error code to have been set; some functions set the last-error
|
1042
|
-
# code to 0 on success and others do not.
|
1043
|
-
# ---
|
1044
|
-
# *Remarks*:
|
1045
|
-
# Functions executed by the calling thread set this value by calling the SetLastError function. You
|
1046
|
-
# should call the GetLastError function immediately when a function's return value indicates that such a
|
1047
|
-
# call will return useful data. That is because some functions call SetLastError with a zero when they
|
1048
|
-
# succeed, wiping out the error code set by the most recently failed function.
|
1049
|
-
# To obtain an error string for system error codes, use the FormatMessage function. For a complete list
|
1050
|
-
# of error codes provided by the operating system, see System Error Codes.
|
1051
|
-
# The error codes returned by a function are not part of the Windows API specification and can vary by
|
1052
|
-
# operating system or device driver. For this reason, we cannot provide the complete list of error codes
|
1053
|
-
# that can be returned by each function. There are also many functions whose documentation does not
|
1054
|
-
# include even a partial list of error codes that can be returned.
|
1055
|
-
# Error codes are 32-bit values (bit 31 is the most significant bit). Bit 29 is reserved for
|
1056
|
-
# application-defined error codes; no system error code has this bit set. If you are defining an error
|
1057
|
-
# code for your application, set this bit to one. That indicates that the error code has been defined by
|
1058
|
-
# an application, and ensures that your error code does not conflict with any error codes defined by the
|
1059
|
-
# system.
|
1060
|
-
# To convert a system error into an HRESULT value, use the HRESULT_FROM_WIN32 macro.
|
1061
|
-
# ---
|
1062
|
-
# <b>Enhanced (snake_case) API: returns error message instead of error code</b>
|
1063
|
-
#
|
1064
|
-
# :call-seq:
|
1065
|
-
# error_message = get_last_error()
|
1066
|
-
#
|
1067
|
-
function :GetLastError, [], :uint32,
|
1068
|
-
&->(api) { error_code = api.call
|
1069
|
-
flags = FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ARGUMENT_ARRAY
|
1070
|
-
format_message(flags, nil, error_code)}
|
1071
|
-
|
1072
|
-
##
|
1073
|
-
# SetLastError Function
|
1074
|
-
# Sets the last-error code for the calling thread.
|
1075
|
-
#
|
1076
|
-
# [*Syntax*] void WINAPI SetLastError( DWORD dwErrCode );
|
1077
|
-
#
|
1078
|
-
# dwErrCode:: [in] The last-error code for the thread.
|
1079
|
-
#
|
1080
|
-
# *Returns*:: This function does not return a value.
|
1081
|
-
# ---
|
1082
|
-
# *Remarks*:
|
1083
|
-
# - The last-error code is kept in thread local storage so that multiple threads do not overwrite each
|
1084
|
-
# other's values.
|
1085
|
-
# - This function is intended primarily for use by dynamic-link libraries (DLL). A DLL can provide the
|
1086
|
-
# applications that are using it with additional diagnostic information by calling this function after
|
1087
|
-
# an error occurs. Most functions call SetLastError or SetLastErrorEx only when they fail. However, some
|
1088
|
-
# system functions call SetLastError or SetLastErrorEx under conditions of success; those cases are
|
1089
|
-
# noted in each function's documentation.
|
1090
|
-
# - Applications can optionally retrieve the value set by this function by using the GetLastError function
|
1091
|
-
# immediately after a function fails.
|
1092
|
-
# - Error codes are 32-bit values (bit 31 is the most significant bit). Bit 29 is reserved for
|
1093
|
-
# application-defined error codes; no system error code has this bit set. If you are defining an error
|
1094
|
-
# code for your application, set this bit to indicate that the error code has been defined by your
|
1095
|
-
# application and to ensure that your error code does not conflict with any system-defined error codes.
|
1096
|
-
# ---
|
1097
|
-
# <b>Enhanced (snake_case) API: </b>
|
1098
|
-
#
|
1099
|
-
# :call-seq:
|
1100
|
-
# set_last_error(err_code)
|
1101
|
-
#
|
1102
|
-
function :SetLastError, [:DWORD], :void
|
1103
|
-
|
1104
|
-
##
|
1105
|
-
# SetLastErrorEx Function sets the last-error code.
|
1106
|
-
# Currently, this function is identical to the SetLastError function. The second parameter is ignored.
|
1107
|
-
#
|
1108
|
-
# [*Syntax*] void WINAPI SetLastErrorEx( DWORD dwErrCode, DWORD dwType );
|
1109
|
-
#
|
1110
|
-
# dwErrCode:: The last-error code for the thread.
|
1111
|
-
# dwType:: This parameter is ignored.
|
1112
|
-
#
|
1113
|
-
# *Returns*:: This function does not return a value.
|
1114
|
-
# ---
|
1115
|
-
# *Remarks*:
|
1116
|
-
# The last-error code is kept in thread local storage so that multiple threads do not overwrite each
|
1117
|
-
# other's values.
|
1118
|
-
# This function is intended primarily for use by dynamic-link libraries (DLL). A DLL can provide the
|
1119
|
-
# applications that are using it with additional diagnostic information by calling this function after
|
1120
|
-
# an error occurs. Most functions call SetLastError or SetLastErrorEx only when they fail. However, some
|
1121
|
-
# system functions call SetLastError or SetLastErrorEx under conditions of success; those cases are
|
1122
|
-
# noted in each function's documentation.
|
1123
|
-
# Applications can optionally retrieve the value set by this function by using the GetLastError function
|
1124
|
-
# immediately after a function fails.
|
1125
|
-
# Error codes are 32-bit values (bit 31 is the most significant bit). Bit 29 is reserved for
|
1126
|
-
# application-defined error codes; no system error code has this bit set. If you are defining an error
|
1127
|
-
# code for your application, set this bit to indicate that the error code has been defined by the
|
1128
|
-
# application and to ensure that your error code does not conflict with any system-defined error codes.
|
1129
|
-
#
|
1130
|
-
# :call-seq:
|
1131
|
-
# set_last_error_ex(err_code, dw_type)
|
1132
|
-
#
|
1133
|
-
try_function :SetLastErrorEx, [:DWORD, :DWORD], :void
|
1134
|
-
# fails silently unless platform is XP++
|
1135
|
-
|
1136
|
-
##
|
1137
|
-
# GetErrorMode Function
|
1138
|
-
# Retrieves the error mode for the current process.
|
1139
|
-
#
|
1140
|
-
# [*Syntax*] UINT WINAPI GetErrorMode( void );
|
1141
|
-
#
|
1142
|
-
# This function has no parameters.
|
1143
|
-
#
|
1144
|
-
# *Returns*:: The process error mode. This function returns one of the following values.
|
1145
|
-
# SEM_FAILCRITICALERRORS:: The system does not display the critical-error-handler message box. Instead,
|
1146
|
-
# the system sends the error to the calling process.
|
1147
|
-
# SEM_NOALIGNMENTFAULTEXCEPT:: The system automatically fixes memory alignment faults and makes them
|
1148
|
-
# invisible to the application. It does this for the calling process and
|
1149
|
-
# any descendant processes. This feature is only supported by certain
|
1150
|
-
# processor architectures. For more information, see the Remarks section.
|
1151
|
-
# After this value is set for a process, subsequent attempts to clear the
|
1152
|
-
# value are ignored.
|
1153
|
-
# SEM_NOGPFAULTERRORBOX:: The system does not display the general-protection-fault message box. This
|
1154
|
-
# flag should only be set by debugging applications that handle general
|
1155
|
-
# protection (GP) faults themselves with an exception handler.
|
1156
|
-
# SEM_NOOPENFILEERRORBOX:: The system does not display a message box when it fails to find a file.
|
1157
|
-
# Instead, the error is returned to the calling process.
|
1158
|
-
# ---
|
1159
|
-
# *Remarks*:
|
1160
|
-
# Each process has an associated error mode that indicates to the system how the application is going to
|
1161
|
-
# respond to serious errors. A child process inherits the error mode of its parent process.
|
1162
|
-
# To change the error mode for the process, use the SetErrorMode function.
|
1163
|
-
# ------
|
1164
|
-
# <b> Only works in Vista++! </b>
|
1165
|
-
# ------
|
1166
|
-
# :call-seq:
|
1167
|
-
# mode = get_error_mode()
|
1168
|
-
#
|
1169
|
-
try_function :GetErrorMode, [], :uint
|
1170
|
-
# fails silently unless platform is Vista++
|
1171
|
-
|
1172
|
-
##
|
1173
|
-
# SetErrorMode Function controls whether the system will handle the specified types of serious errors or whether
|
1174
|
-
# the process will handle them.
|
1175
|
-
#
|
1176
|
-
# [*Syntax*] UINT WINAPI SetErrorMode( UINT uMode );
|
1177
|
-
#
|
1178
|
-
# uMode:: The process error mode. This parameter can be one or more of the following values.
|
1179
|
-
# 0:: Use the system default, which is to display all error dialog boxes.
|
1180
|
-
# SEM_FAILCRITICALERRORS:: The system does not display the critical-error-handler message box. Instead,
|
1181
|
-
# the system sends the error to the calling process.
|
1182
|
-
# SEM_NOALIGNMENTFAULTEXCEPT:: The system automatically fixes memory alignment faults and makes them
|
1183
|
-
# invisible to the application. It does this for the calling process and any
|
1184
|
-
# descendant processes. This feature is only supported by certain processor
|
1185
|
-
# architectures. For more information, see the Remarks section.
|
1186
|
-
# After this value is set for a process, subsequent attempts to clear the
|
1187
|
-
# value are ignored.
|
1188
|
-
# SEM_NOGPFAULTERRORBOX:: The system does not display the general-protection-fault message box. This flag
|
1189
|
-
# should only be set by debugging applications that handle general protection (GP)
|
1190
|
-
# faults themselves with an exception handler.
|
1191
|
-
# SEM_NOOPENFILEERRORBOX:: The system does not display a message box when it fails to find a file. Instead,
|
1192
|
-
# the error is returned to the calling process.
|
1193
|
-
#
|
1194
|
-
# *Returns*:: The return value is the previous state of the error-mode bit flags.
|
1195
|
-
# ---
|
1196
|
-
# *Remarks*:
|
1197
|
-
# Each process has an associated error mode that indicates to the system how the application is going to
|
1198
|
-
# respond to serious errors. A child process inherits the error mode of its parent process. To retrieve
|
1199
|
-
# the process error mode, use the GetErrorMode function.
|
1200
|
-
# Because the error mode is set for the entire process, you must ensure that multi-threaded applications
|
1201
|
-
# do not set different error-mode flags. Doing so can lead to inconsistent error handling.
|
1202
|
-
# The system does not make alignment faults visible to an application on all processor architectures.
|
1203
|
-
# Therefore, specifying SEM_NOALIGNMENTFAULTEXCEPT is not an error on such architectures, but the system
|
1204
|
-
# is free to silently ignore the request. This means that code sequences such as the following are not
|
1205
|
-
# always valid on x86 computers:
|
1206
|
-
#
|
1207
|
-
# SetErrorMode(SEM_NOALIGNMENTFAULTEXCEPT);
|
1208
|
-
# fuOldErrorMode = SetErrorMode(0);
|
1209
|
-
# ASSERT(fuOldErrorMode == SEM_NOALIGNMENTFAULTEXCEPT);
|
1210
|
-
#
|
1211
|
-
# Itanium:: An application must explicitly call SetErrorMode with SEM_NOALIGNMENTFAULTEXCEPT to have the
|
1212
|
-
# system automatically fix alignment faults. The default setting is for the system to make alignment
|
1213
|
-
# faults visible to an application.
|
1214
|
-
# Visual Studio 2005:: When declaring a pointer to a structure that may not have aligned data, you can use
|
1215
|
-
# __unaligned keyword to indicate that the type must be read one byte at a time. For more
|
1216
|
-
# information, see Windows Data Alignment.
|
1217
|
-
#
|
1218
|
-
# :call-seq:
|
1219
|
-
# success = set_error_mode(mode)
|
1220
|
-
#
|
1221
|
-
function :SetErrorMode, [:UINT], :UINT
|
1222
|
-
|
1223
|
-
end
|
1
|
+
require 'win/library'
|
2
|
+
|
3
|
+
module Win
|
4
|
+
|
5
|
+
# Defines functions and constants related to error processing.
|
6
|
+
# Includes (some) error codes from error.h, msterr.h and winerror.h (up to 3000);
|
7
|
+
# other modules may contain additional error codes specific to their domain.
|
8
|
+
#
|
9
|
+
module Error
|
10
|
+
include Win::Library
|
11
|
+
|
12
|
+
#Error codes:
|
13
|
+
|
14
|
+
# :stopdoc:
|
15
|
+
S_OK = 0
|
16
|
+
NO_ERROR = 0
|
17
|
+
ERROR_SUCCESS = 0
|
18
|
+
ERROR_INVALID_FUNCTION = 1
|
19
|
+
ERROR_FILE_NOT_FOUND = 2
|
20
|
+
ERROR_PATH_NOT_FOUND = 3
|
21
|
+
ERROR_TOO_MANY_OPEN_FILES = 4
|
22
|
+
ERROR_ACCESS_DENIED = 5
|
23
|
+
ERROR_INVALID_HANDLE = 6
|
24
|
+
ERROR_ARENA_TRASHED = 7
|
25
|
+
ERROR_NOT_ENOUGH_MEMORY = 8
|
26
|
+
ERROR_INVALID_BLOCK = 9
|
27
|
+
ERROR_BAD_ENVIRONMENT = 10
|
28
|
+
ERROR_BAD_FORMAT = 11
|
29
|
+
ERROR_INVALID_ACCESS = 12
|
30
|
+
ERROR_INVALID_DATA = 13
|
31
|
+
ERROR_INVALID_DRIVE = 15
|
32
|
+
ERROR_CURRENT_DIRECTORY = 16
|
33
|
+
ERROR_NOT_SAME_DEVICE = 17
|
34
|
+
ERROR_NO_MORE_FILES = 18
|
35
|
+
ERROR_WRITE_PROTECT = 19
|
36
|
+
ERROR_BAD_UNIT = 20
|
37
|
+
ERROR_NOT_READY = 21
|
38
|
+
ERROR_BAD_COMMAND = 22
|
39
|
+
ERROR_CRC = 23
|
40
|
+
ERROR_BAD_LENGTH = 24
|
41
|
+
ERROR_SEEK = 25
|
42
|
+
ERROR_NOT_DOS_DISK = 26
|
43
|
+
ERROR_SECTOR_NOT_FOUND = 27
|
44
|
+
ERROR_OUT_OF_PAPER = 28
|
45
|
+
ERROR_WRITE_FAULT = 29
|
46
|
+
ERROR_READ_FAULT = 30
|
47
|
+
ERROR_GEN_FAILURE = 31
|
48
|
+
ERROR_SHARING_VIOLATION = 32
|
49
|
+
ERROR_LOCK_VIOLATION = 33
|
50
|
+
ERROR_WRONG_DISK = 34
|
51
|
+
ERROR_FCB_UNAVAILABLE = 35 # gets returned for some unsuccessful DeviceIoControl calls
|
52
|
+
ERROR_SHARING_BUFFER_EXCEEDED = 36
|
53
|
+
ERROR_HANDLE_EOF = 38
|
54
|
+
ERROR_HANDLE_DISK_FULL = 39
|
55
|
+
|
56
|
+
ERROR_NOT_SUPPORTED = 50
|
57
|
+
ERROR_REM_NOT_LIST = 51
|
58
|
+
ERROR_DUP_NAME = 52
|
59
|
+
ERROR_BAD_NETPATH = 53
|
60
|
+
ERROR_NETWORK_BUSY = 54
|
61
|
+
ERROR_DEV_NOT_EXIST = 55
|
62
|
+
ERROR_TOO_MANY_CMDS = 56
|
63
|
+
ERROR_ADAP_HDW_ERR = 57
|
64
|
+
ERROR_BAD_NET_RESP = 58
|
65
|
+
ERROR_UNEXP_NET_ERR = 59
|
66
|
+
ERROR_BAD_REM_ADAP = 60
|
67
|
+
ERROR_PRINTQ_FULL = 61
|
68
|
+
ERROR_NO_SPOOL_SPACE = 62
|
69
|
+
ERROR_PRINT_CANCELLED = 63
|
70
|
+
ERROR_NETNAME_DELETED = 64
|
71
|
+
ERROR_NETWORK_ACCESS_DENIED = 65
|
72
|
+
ERROR_BAD_DEV_TYPE = 66
|
73
|
+
ERROR_BAD_NET_NAME = 67
|
74
|
+
ERROR_TOO_MANY_NAMES = 68
|
75
|
+
ERROR_TOO_MANY_SESS = 69
|
76
|
+
ERROR_SHARING_PAUSED = 70
|
77
|
+
ERROR_REQ_NOT_ACCEP = 71
|
78
|
+
ERROR_REDIR_PAUSED = 72
|
79
|
+
|
80
|
+
ERROR_FILE_EXISTS = 80
|
81
|
+
ERROR_DUP_FCB = 81
|
82
|
+
ERROR_CANNOT_MAKE = 82
|
83
|
+
ERROR_FAIL_I24 = 83
|
84
|
+
ERROR_OUT_OF_STRUCTURES = 84
|
85
|
+
ERROR_ALREADY_ASSIGNED = 85
|
86
|
+
ERROR_INVALID_PASSWORD = 86
|
87
|
+
ERROR_INVALID_PARAMETER = 87
|
88
|
+
ERROR_NET_WRITE_FAULT = 88
|
89
|
+
ERROR_NO_PROC_SLOTS = 89 # no process slots available
|
90
|
+
ERROR_NOT_FROZEN = 90
|
91
|
+
ERR_TSTOVFL = 91 # timer service table overflow
|
92
|
+
ERR_TSTDUP = 92 # timer service table duplicate
|
93
|
+
ERROR_NO_ITEMS = 93 # There were no items to operate upon
|
94
|
+
ERROR_INTERRUPT = 95 # interrupted system call
|
95
|
+
|
96
|
+
ERROR_TOO_MANY_SEMAPHORES = 100
|
97
|
+
ERROR_EXCL_SEM_ALREADY_OWNED = 101
|
98
|
+
ERROR_SEM_IS_SET = 102
|
99
|
+
ERROR_TOO_MANY_SEM_REQUESTS = 103
|
100
|
+
ERROR_INVALID_AT_INTERRUPT_TIME = 104
|
101
|
+
ERROR_SEM_OWNER_DIED = 105 # waitsem found owner died
|
102
|
+
ERROR_SEM_USER_LIMIT = 106 # too many procs have this sem
|
103
|
+
ERROR_DISK_CHANGE = 107 # insert disk b into drive a
|
104
|
+
ERROR_DRIVE_LOCKED = 108 # drive locked by another process
|
105
|
+
ERROR_BROKEN_PIPE = 109 # write on pipe with no reader
|
106
|
+
ERROR_OPEN_FAILED = 110 # open/created failed
|
107
|
+
ERROR_DISK_FULL = 112 # not enough space
|
108
|
+
ERROR_NO_MORE_SEARCH_HANDLES = 113 # can't allocate
|
109
|
+
ERROR_INVALID_TARGET_HANDLE = 114 # handle in DOSDUPHANDLE is invalid
|
110
|
+
ERROR_PROTECTION_VIOLATION = 115 # bad user virtual address
|
111
|
+
ERROR_VIOKBD_REQUEST = 116
|
112
|
+
ERROR_INVALID_CATEGORY = 117 # category for DEVIOCTL not defined
|
113
|
+
ERROR_INVALID_VERIFY_SWITCH = 118 # invalid value
|
114
|
+
ERROR_BAD_DRIVER_LEVEL = 119 # DosDevIOCTL not level four
|
115
|
+
ERROR_CALL_NOT_IMPLEMENTED = 120
|
116
|
+
ERROR_SEM_TIMEOUT = 121 # timeout from semaphore function
|
117
|
+
ERROR_INSUFFICIENT_BUFFER = 122
|
118
|
+
ERROR_INVALID_NAME = 123 # illegal char or malformed file system name
|
119
|
+
ERROR_INVALID_LEVEL = 124 # unimplemented level for info retrieval
|
120
|
+
ERROR_NO_VOLUME_LABEL = 125 # no volume label found
|
121
|
+
ERROR_MOD_NOT_FOUND = 126 # w_getprocaddr, w_getmodhandle
|
122
|
+
ERROR_PROC_NOT_FOUND = 127 # w_getprocaddr
|
123
|
+
ERROR_WAIT_NO_CHILDREN = 128 # CWait finds to children
|
124
|
+
ERROR_CHILD_NOT_COMPLETE = 129 # CWait children not dead yet
|
125
|
+
ERROR_DIRECT_ACCESS_HANDLE = 130 # invalid for direct disk access
|
126
|
+
ERROR_NEGATIVE_SEEK = 131 # tried to seek negative offset
|
127
|
+
ERROR_SEEK_ON_DEVICE = 132 # tried to seek on device or pipe
|
128
|
+
ERROR_IS_JOIN_TARGET = 133
|
129
|
+
ERROR_IS_JOINED = 134
|
130
|
+
ERROR_IS_SUBSTED = 135
|
131
|
+
ERROR_NOT_JOINED = 136
|
132
|
+
ERROR_NOT_SUBSTED = 137
|
133
|
+
ERROR_JOIN_TO_JOIN = 138
|
134
|
+
ERROR_SUBST_TO_SUBST = 139
|
135
|
+
ERROR_JOIN_TO_SUBST = 140
|
136
|
+
ERROR_SUBST_TO_JOIN = 141
|
137
|
+
ERROR_BUSY_DRIVE = 142
|
138
|
+
ERROR_SAME_DRIVE = 143
|
139
|
+
ERROR_DIR_NOT_ROOT = 144
|
140
|
+
ERROR_DIR_NOT_EMPTY = 145
|
141
|
+
ERROR_IS_SUBST_PATH = 146
|
142
|
+
ERROR_IS_JOIN_PATH = 147
|
143
|
+
ERROR_PATH_BUSY = 148
|
144
|
+
ERROR_IS_SUBST_TARGET = 149
|
145
|
+
ERROR_SYSTEM_TRACE = 150 # system trace error
|
146
|
+
ERROR_INVALID_EVENT_COUNT = 151 # DosMuxSemWait errors
|
147
|
+
ERROR_TOO_MANY_MUXWAITERS = 152
|
148
|
+
ERROR_INVALID_LIST_FORMAT = 153
|
149
|
+
ERROR_LABEL_TOO_LONG = 154
|
150
|
+
ERROR_TOO_MANY_TCBS = 155
|
151
|
+
ERROR_SIGNAL_REFUSED = 156
|
152
|
+
ERROR_DISCARDED = 157
|
153
|
+
ERROR_NOT_LOCKED = 158
|
154
|
+
ERROR_BAD_THREADID_ADDR = 159
|
155
|
+
ERROR_BAD_ARGUMENTS = 160
|
156
|
+
ERROR_BAD_PATHNAME = 161
|
157
|
+
ERROR_SIGNAL_PENDING = 162
|
158
|
+
ERROR_UNCERTAIN_MEDIA = 163
|
159
|
+
ERROR_MAX_THRDS_REACHED = 164
|
160
|
+
ERROR_MONITORS_NOT_SUPPORTED = 165
|
161
|
+
|
162
|
+
ERROR_LOCK_FAILED = 167
|
163
|
+
ERROR_BUSY = 170
|
164
|
+
ERROR_CANCEL_VIOLATION = 173
|
165
|
+
ERROR_ATOMIC_LOCKS_NOT_SUPPORTED= 174
|
166
|
+
|
167
|
+
ERROR_INVALID_SEGMENT_NUMBER = 180
|
168
|
+
ERROR_INVALID_CALLGATE = 181
|
169
|
+
ERROR_INVALID_ORDINAL = 182
|
170
|
+
ERROR_ALREADY_EXISTS = 183
|
171
|
+
ERROR_NO_CHILD_PROCESS = 184
|
172
|
+
ERROR_CHILD_ALIVE_NOWAIT = 185
|
173
|
+
ERROR_INVALID_FLAG_NUMBER = 186
|
174
|
+
ERROR_SEM_NOT_FOUND = 187
|
175
|
+
ERROR_INVALID_STARTING_CODESEG = 188
|
176
|
+
ERROR_INVALID_STACKSEG = 189
|
177
|
+
ERROR_INVALID_MODULETYPE = 190
|
178
|
+
ERROR_INVALID_EXE_SIGNATURE = 191
|
179
|
+
ERROR_EXE_MARKED_INVALID = 192
|
180
|
+
ERROR_BAD_EXE_FORMAT = 193
|
181
|
+
ERROR_ITERATED_DATA_EXCEEDS_64k = 194
|
182
|
+
ERROR_INVALID_MINALLOCSIZE = 195
|
183
|
+
ERROR_DYNLINK_FROM_INVALID_RING = 196
|
184
|
+
ERROR_IOPL_NOT_ENABLED = 197
|
185
|
+
ERROR_INVALID_SEGDPL = 198
|
186
|
+
ERROR_AUTODATASEG_EXCEEDS_64k = 199
|
187
|
+
ERROR_RING2SEG_MUST_BE_MOVABLE = 200
|
188
|
+
ERROR_RELOC_CHAIN_XEEDS_SEGLIM = 201
|
189
|
+
ERROR_INFLOOP_IN_RELOC_CHAIN = 202
|
190
|
+
ERROR_ENVVAR_NOT_FOUND = 203
|
191
|
+
ERROR_NOT_CURRENT_CTRY = 204
|
192
|
+
ERROR_NO_SIGNAL_SENT = 205
|
193
|
+
ERROR_FILENAME_EXCED_RANGE = 206 # if filename > 8.3
|
194
|
+
ERROR_RING2_STACK_IN_USE = 207 # for FAPI
|
195
|
+
ERROR_META_EXPANSION_TOO_LONG = 208 # if "*a" > 8.3
|
196
|
+
ERROR_INVALID_SIGNAL_NUMBER = 209
|
197
|
+
ERROR_THREAD_1_INACTIVE = 210
|
198
|
+
ERROR_INFO_NOT_AVAIL = 211 #@@ PTM 5550
|
199
|
+
ERROR_LOCKED = 212
|
200
|
+
ERROR_BAD_DYNALINK = 213 #@@ PTM 5760
|
201
|
+
ERROR_TOO_MANY_MODULES = 214
|
202
|
+
ERROR_NESTING_NOT_ALLOWED = 215
|
203
|
+
ERROR_EXE_MACHINE_TYPE_MISMATCH = 216
|
204
|
+
|
205
|
+
ERROR_BAD_PIPE = 230
|
206
|
+
ERROR_PIPE_BUSY = 231
|
207
|
+
ERROR_NO_DATA = 232
|
208
|
+
ERROR_PIPE_NOT_CONNECTED = 233
|
209
|
+
ERROR_MORE_DATA = 234
|
210
|
+
|
211
|
+
ERROR_VC_DISCONNECTED = 240
|
212
|
+
ERROR_INVALID_EA_NAME = 254
|
213
|
+
ERROR_EA_LIST_INCONSISTENT = 255
|
214
|
+
ERROR_NO_MORE_ITEMS = 259
|
215
|
+
ERROR_CANNOT_COPY = 266
|
216
|
+
ERROR_DIRECTORY = 267
|
217
|
+
ERROR_EAS_DIDNT_FIT = 275
|
218
|
+
ERROR_EA_FILE_CORRUPT = 276
|
219
|
+
ERROR_EA_TABLE_FULL = 277
|
220
|
+
ERROR_INVALID_EA_HANDLE = 278
|
221
|
+
ERROR_EAS_NOT_SUPPORTED = 282
|
222
|
+
ERROR_NOT_OWNER = 288
|
223
|
+
ERROR_TOO_MANY_POSTS = 298
|
224
|
+
ERROR_PARTIAL_COPY = 299
|
225
|
+
ERROR_OPLOCK_NOT_GRANTED = 300
|
226
|
+
ERROR_INVALID_OPLOCK_PROTOCOL = 301
|
227
|
+
ERROR_DISK_TOO_FRAGMENTED = 302
|
228
|
+
ERROR_MR_MID_NOT_FOUND = 317
|
229
|
+
ERROR_SCOPE_NOT_FOUND = 318
|
230
|
+
ERROR_FAIL_NOACTION_REBOOT = 350
|
231
|
+
ERROR_FAIL_SHUTDOWN = 351
|
232
|
+
ERROR_FAIL_RESTART = 352
|
233
|
+
ERROR_MAX_SESSIONS_REACHED = 353
|
234
|
+
ERROR_INVALID_ADDRESS = 487
|
235
|
+
ERROR_USER_PROFILE_LOAD = 500
|
236
|
+
ERROR_ARITHMETIC_OVERFLOW = 534
|
237
|
+
ERROR_PIPE_CONNECTED = 535
|
238
|
+
ERROR_PIPE_LISTENING = 536
|
239
|
+
|
240
|
+
ERROR_EA_ACCESS_DENIED = 994
|
241
|
+
ERROR_OPERATION_ABORTED = 995
|
242
|
+
ERROR_IO_INCOMPLETE = 996
|
243
|
+
ERROR_IO_PENDING = 997
|
244
|
+
ERROR_NOACCESS = 998
|
245
|
+
ERROR_SWAPERROR = 999
|
246
|
+
|
247
|
+
ERROR_STACK_OVERFLOW = 1001
|
248
|
+
ERROR_INVALID_MESSAGE = 1002
|
249
|
+
ERROR_CAN_NOT_COMPLETE = 1003
|
250
|
+
ERROR_INVALID_FLAGS = 1004
|
251
|
+
ERROR_UNRECOGNIZED_VOLUME = 1005
|
252
|
+
ERROR_FILE_INVALID = 1006
|
253
|
+
ERROR_FULLSCREEN_MODE = 1007
|
254
|
+
ERROR_NO_TOKEN = 1008
|
255
|
+
ERROR_BADDB = 1009
|
256
|
+
ERROR_BADKEY = 1010
|
257
|
+
ERROR_CANTOPEN = 1011
|
258
|
+
ERROR_CANTREAD = 1012
|
259
|
+
ERROR_CANTWRITE = 1013
|
260
|
+
ERROR_REGISTRY_RECOVERED = 1014
|
261
|
+
ERROR_REGISTRY_CORRUPT = 1015
|
262
|
+
ERROR_REGISTRY_IO_FAILED = 1016
|
263
|
+
ERROR_NOT_REGISTRY_FILE = 1017
|
264
|
+
ERROR_KEY_DELETED = 1018
|
265
|
+
ERROR_NO_LOG_SPACE = 1019
|
266
|
+
ERROR_KEY_HAS_CHILDREN = 1020
|
267
|
+
ERROR_CHILD_MUST_BE_VOLATILE = 1021
|
268
|
+
ERROR_NOTIFY_ENUM_DIR = 1022
|
269
|
+
ERROR_DEPENDENT_SERVICES_RUNNING = 1051
|
270
|
+
ERROR_INVALID_SERVICE_CONTROL = 1052
|
271
|
+
ERROR_SERVICE_REQUEST_TIMEOUT = 1053
|
272
|
+
ERROR_SERVICE_NO_THREAD = 1054
|
273
|
+
ERROR_SERVICE_DATABASE_LOCKED = 1055
|
274
|
+
ERROR_SERVICE_ALREADY_RUNNING = 1056
|
275
|
+
ERROR_INVALID_SERVICE_ACCOUNT = 1057
|
276
|
+
ERROR_SERVICE_DISABLED = 1058
|
277
|
+
ERROR_CIRCULAR_DEPENDENCY = 1059
|
278
|
+
ERROR_SERVICE_DOES_NOT_EXIST = 1060
|
279
|
+
ERROR_SERVICE_CANNOT_ACCEPT_CTRL = 1061
|
280
|
+
ERROR_SERVICE_NOT_ACTIVE = 1062
|
281
|
+
ERROR_FAILED_SERVICE_CONTROLLER_CONNECT = 1063
|
282
|
+
ERROR_EXCEPTION_IN_SERVICE = 1064
|
283
|
+
ERROR_DATABASE_DOES_NOT_EXIST = 1065
|
284
|
+
ERROR_SERVICE_SPECIFIC_ERROR = 1066
|
285
|
+
ERROR_PROCESS_ABORTED = 1067
|
286
|
+
ERROR_SERVICE_DEPENDENCY_FAIL = 1068
|
287
|
+
ERROR_SERVICE_LOGON_FAILED = 1069
|
288
|
+
ERROR_SERVICE_START_HANG = 1070
|
289
|
+
ERROR_INVALID_SERVICE_LOCK = 1071
|
290
|
+
ERROR_SERVICE_MARKED_FOR_DELETE = 1072
|
291
|
+
ERROR_SERVICE_EXISTS = 1073
|
292
|
+
ERROR_ALREADY_RUNNING_LKG = 1074
|
293
|
+
ERROR_SERVICE_DEPENDENCY_DELETED = 1075
|
294
|
+
ERROR_BOOT_ALREADY_ACCEPTED = 1076
|
295
|
+
ERROR_SERVICE_NEVER_STARTED = 1077
|
296
|
+
ERROR_DUPLICATE_SERVICE_NAME = 1078
|
297
|
+
ERROR_DIFFERENT_SERVICE_ACCOUNT = 1079
|
298
|
+
ERROR_CANNOT_DETECT_DRIVER_FAILURE = 1080
|
299
|
+
ERROR_CANNOT_DETECT_PROCESS_ABORT = 1081
|
300
|
+
ERROR_NO_RECOVERY_PROGRAM = 1082
|
301
|
+
ERROR_SERVICE_NOT_IN_EXE = 1083
|
302
|
+
ERROR_END_OF_MEDIA = 1100
|
303
|
+
ERROR_FILEMARK_DETECTED = 1101
|
304
|
+
ERROR_BEGINNING_OF_MEDIA = 1102
|
305
|
+
ERROR_SETMARK_DETECTED = 1103
|
306
|
+
ERROR_NO_DATA_DETECTED = 1104
|
307
|
+
ERROR_PARTITION_FAILURE = 1105
|
308
|
+
ERROR_INVALID_BLOCK_LENGTH = 1106
|
309
|
+
ERROR_DEVICE_NOT_PARTITIONED = 1107
|
310
|
+
ERROR_UNABLE_TO_LOCK_MEDIA = 1108
|
311
|
+
ERROR_UNABLE_TO_UNLOAD_MEDIA = 1109
|
312
|
+
ERROR_MEDIA_CHANGED = 1110
|
313
|
+
ERROR_BUS_RESET = 1111
|
314
|
+
ERROR_NO_MEDIA_IN_DRIVE = 1112
|
315
|
+
ERROR_NO_UNICODE_TRANSLATION = 1113
|
316
|
+
ERROR_DLL_INIT_FAILED = 1114
|
317
|
+
ERROR_SHUTDOWN_IN_PROGRESS = 1115
|
318
|
+
ERROR_NO_SHUTDOWN_IN_PROGRESS = 1116
|
319
|
+
ERROR_IO_DEVICE = 1117
|
320
|
+
ERROR_SERIAL_NO_DEVICE = 1118
|
321
|
+
ERROR_IRQ_BUSY = 1119
|
322
|
+
ERROR_MORE_WRITES = 1120
|
323
|
+
ERROR_COUNTER_TIMEOUT = 1121
|
324
|
+
ERROR_FLOPPY_ID_MARK_NOT_FOUND = 1122
|
325
|
+
ERROR_FLOPPY_WRONG_CYLINDER = 1123
|
326
|
+
ERROR_FLOPPY_UNKNOWN_ERROR = 1124
|
327
|
+
ERROR_FLOPPY_BAD_REGISTERS = 1125
|
328
|
+
ERROR_DISK_RECALIBRATE_FAILED = 1126
|
329
|
+
ERROR_DISK_OPERATION_FAILED = 1127
|
330
|
+
ERROR_DISK_RESET_FAILED = 1128
|
331
|
+
ERROR_EOM_OVERFLOW = 1129
|
332
|
+
ERROR_NOT_ENOUGH_SERVER_MEMORY = 1130
|
333
|
+
ERROR_POSSIBLE_DEADLOCK = 1131
|
334
|
+
ERROR_MAPPED_ALIGNMENT = 1132
|
335
|
+
ERROR_SET_POWER_STATE_VETOED = 1140
|
336
|
+
ERROR_SET_POWER_STATE_FAILED = 1141
|
337
|
+
ERROR_TOO_MANY_LINKS = 1142
|
338
|
+
ERROR_OLD_WIN_VERSION = 1150
|
339
|
+
ERROR_APP_WRONG_OS = 1151
|
340
|
+
ERROR_SINGLE_INSTANCE_APP = 1152
|
341
|
+
ERROR_RMODE_APP = 1153
|
342
|
+
ERROR_INVALID_DLL = 1154
|
343
|
+
ERROR_NO_ASSOCIATION = 1155
|
344
|
+
ERROR_DDE_FAIL = 1156
|
345
|
+
ERROR_DLL_NOT_FOUND = 1157
|
346
|
+
ERROR_NO_MORE_USER_HANDLES = 1158
|
347
|
+
ERROR_MESSAGE_SYNC_ONLY = 1159
|
348
|
+
ERROR_SOURCE_ELEMENT_EMPTY = 1160
|
349
|
+
ERROR_DESTINATION_ELEMENT_FULL = 1161
|
350
|
+
ERROR_ILLEGAL_ELEMENT_ADDRESS = 1162
|
351
|
+
ERROR_MAGAZINE_NOT_PRESENT = 1163
|
352
|
+
ERROR_DEVICE_REINITIALIZATION_NEEDED = 1164
|
353
|
+
ERROR_DEVICE_REQUIRES_CLEANING = 1165
|
354
|
+
ERROR_DEVICE_DOOR_OPEN = 1166
|
355
|
+
ERROR_DEVICE_NOT_CONNECTED = 1167
|
356
|
+
ERROR_NOT_FOUND = 1168
|
357
|
+
ERROR_NO_MATCH = 1169
|
358
|
+
ERROR_SET_NOT_FOUND = 1170
|
359
|
+
ERROR_POINT_NOT_FOUND = 1171
|
360
|
+
ERROR_NO_TRACKING_SERVICE = 1172
|
361
|
+
ERROR_NO_VOLUME_ID = 1173
|
362
|
+
ERROR_UNABLE_TO_REMOVE_REPLACED = 1175
|
363
|
+
ERROR_UNABLE_TO_MOVE_REPLACEMENT = 1176
|
364
|
+
ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 = 1177
|
365
|
+
ERROR_JOURNAL_DELETE_IN_PROGRESS = 1178
|
366
|
+
ERROR_JOURNAL_NOT_ACTIVE = 1179
|
367
|
+
ERROR_POTENTIAL_FILE_FOUND = 1180
|
368
|
+
ERROR_JOURNAL_ENTRY_DELETED = 1181
|
369
|
+
ERROR_BAD_DEVICE = 1200
|
370
|
+
ERROR_CONNECTION_UNAVAIL = 1201
|
371
|
+
ERROR_DEVICE_ALREADY_REMEMBERED = 1202
|
372
|
+
ERROR_NO_NET_OR_BAD_PATH = 1203
|
373
|
+
ERROR_BAD_PROVIDER = 1204
|
374
|
+
ERROR_CANNOT_OPEN_PROFILE = 1205
|
375
|
+
ERROR_BAD_PROFILE = 1206
|
376
|
+
ERROR_NOT_CONTAINER = 1207
|
377
|
+
ERROR_EXTENDED_ERROR = 1208
|
378
|
+
ERROR_INVALID_GROUPNAME = 1209
|
379
|
+
ERROR_INVALID_COMPUTERNAME = 1210
|
380
|
+
ERROR_INVALID_EVENTNAME = 1211
|
381
|
+
ERROR_INVALID_DOMAINNAME = 1212
|
382
|
+
ERROR_INVALID_SERVICENAME = 1213
|
383
|
+
ERROR_INVALID_NETNAME = 1214
|
384
|
+
ERROR_INVALID_SHARENAME = 1215
|
385
|
+
ERROR_INVALID_PASSWORDNAME = 1216
|
386
|
+
ERROR_INVALID_MESSAGENAME = 1217
|
387
|
+
ERROR_INVALID_MESSAGEDEST = 1218
|
388
|
+
ERROR_SESSION_CREDENTIAL_CONFLICT = 1219
|
389
|
+
ERROR_REMOTE_SESSION_LIMIT_EXCEEDED = 1220
|
390
|
+
ERROR_DUP_DOMAINNAME = 1221
|
391
|
+
ERROR_NO_NETWORK = 1222
|
392
|
+
ERROR_CANCELLED = 1223
|
393
|
+
ERROR_USER_MAPPED_FILE = 1224
|
394
|
+
ERROR_CONNECTION_REFUSED = 1225
|
395
|
+
ERROR_GRACEFUL_DISCONNECT = 1226
|
396
|
+
ERROR_ADDRESS_ALREADY_ASSOCIATED = 1227
|
397
|
+
ERROR_ADDRESS_NOT_ASSOCIATED = 1228
|
398
|
+
ERROR_CONNECTION_INVALID = 1229
|
399
|
+
ERROR_CONNECTION_ACTIVE = 1230
|
400
|
+
ERROR_NETWORK_UNREACHABLE = 1231
|
401
|
+
ERROR_HOST_UNREACHABLE = 1232
|
402
|
+
ERROR_PROTOCOL_UNREACHABLE = 1233
|
403
|
+
ERROR_PORT_UNREACHABLE = 1234
|
404
|
+
ERROR_REQUEST_ABORTED = 1235
|
405
|
+
ERROR_CONNECTION_ABORTED = 1236
|
406
|
+
ERROR_RETRY = 1237
|
407
|
+
ERROR_CONNECTION_COUNT_LIMIT = 1238
|
408
|
+
ERROR_LOGIN_TIME_RESTRICTION = 1239
|
409
|
+
ERROR_LOGIN_WKSTA_RESTRICTION = 1240
|
410
|
+
ERROR_INCORRECT_ADDRESS = 1241
|
411
|
+
ERROR_ALREADY_REGISTERED = 1242
|
412
|
+
ERROR_SERVICE_NOT_FOUND = 1243
|
413
|
+
ERROR_NOT_AUTHENTICATED = 1244
|
414
|
+
ERROR_NOT_LOGGED_ON = 1245
|
415
|
+
ERROR_CONTINUE = 1246
|
416
|
+
ERROR_ALREADY_INITIALIZED = 1247
|
417
|
+
ERROR_NO_MORE_DEVICES = 1248
|
418
|
+
ERROR_NO_SUCH_SITE = 1249
|
419
|
+
ERROR_DOMAIN_CONTROLLER_EXISTS = 1250
|
420
|
+
ERROR_ONLY_IF_CONNECTED = 1251
|
421
|
+
ERROR_OVERRIDE_NOCHANGES = 1252
|
422
|
+
ERROR_BAD_USER_PROFILE = 1253
|
423
|
+
ERROR_NOT_SUPPORTED_ON_SBS = 1254
|
424
|
+
ERROR_SERVER_SHUTDOWN_IN_PROGRESS = 1255
|
425
|
+
ERROR_HOST_DOWN = 1256
|
426
|
+
ERROR_ACCESS_DISABLED_BY_POLICY = 1260
|
427
|
+
ERROR_REG_NAT_CONSUMPTION = 1261
|
428
|
+
ERROR_PKINIT_FAILURE = 1263
|
429
|
+
ERROR_SMARTCARD_SUBSYSTEM_FAILURE = 1264
|
430
|
+
ERROR_DOWNGRADE_DETECTED = 1265
|
431
|
+
ERROR_MACHINE_LOCKED = 1271
|
432
|
+
ERROR_CALLBACK_SUPPLIED_INVALID_DATA = 1273
|
433
|
+
ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED= 1274
|
434
|
+
ERROR_DRIVER_BLOCKED = 1275
|
435
|
+
ERROR_INVALID_IMPORT_OF_NON_DLL = 1276
|
436
|
+
ERROR_NOT_ALL_ASSIGNED = 1300
|
437
|
+
ERROR_SOME_NOT_MAPPED = 1301
|
438
|
+
ERROR_NO_QUOTAS_FOR_ACCOUNT = 1302
|
439
|
+
ERROR_LOCAL_USER_SESSION_KEY = 1303
|
440
|
+
ERROR_NULL_LM_PASSWORD = 1304
|
441
|
+
ERROR_UNKNOWN_REVISION = 1305
|
442
|
+
ERROR_REVISION_MISMATCH = 1306
|
443
|
+
ERROR_INVALID_OWNER = 1307
|
444
|
+
ERROR_INVALID_PRIMARY_GROUP = 1308
|
445
|
+
ERROR_NO_IMPERSONATION_TOKEN = 1309
|
446
|
+
ERROR_CANT_DISABLE_MANDATORY = 1310
|
447
|
+
ERROR_NO_LOGON_SERVERS = 1311
|
448
|
+
ERROR_NO_SUCH_LOGON_SESSION = 1312
|
449
|
+
ERROR_NO_SUCH_PRIVILEGE = 1313
|
450
|
+
ERROR_PRIVILEGE_NOT_HELD = 1314
|
451
|
+
ERROR_INVALID_ACCOUNT_NAME = 1315
|
452
|
+
ERROR_USER_EXISTS = 1316
|
453
|
+
ERROR_NO_SUCH_USER = 1317
|
454
|
+
ERROR_GROUP_EXISTS = 1318
|
455
|
+
ERROR_NO_SUCH_GROUP = 1319
|
456
|
+
ERROR_MEMBER_IN_GROUP = 1320
|
457
|
+
ERROR_MEMBER_NOT_IN_GROUP = 1321
|
458
|
+
ERROR_LAST_ADMIN = 1322
|
459
|
+
ERROR_WRONG_PASSWORD = 1323
|
460
|
+
ERROR_ILL_FORMED_PASSWORD = 1324
|
461
|
+
ERROR_PASSWORD_RESTRICTION = 1325
|
462
|
+
ERROR_LOGON_FAILURE = 1326
|
463
|
+
ERROR_ACCOUNT_RESTRICTION = 1327
|
464
|
+
ERROR_INVALID_LOGON_HOURS = 1328
|
465
|
+
ERROR_INVALID_WORKSTATION = 1329
|
466
|
+
ERROR_PASSWORD_EXPIRED = 1330
|
467
|
+
ERROR_ACCOUNT_DISABLED = 1331
|
468
|
+
ERROR_NONE_MAPPED = 1332
|
469
|
+
ERROR_TOO_MANY_LUIDS_REQUESTED = 1333
|
470
|
+
ERROR_LUIDS_EXHAUSTED = 1334
|
471
|
+
ERROR_INVALID_SUB_AUTHORITY = 1335
|
472
|
+
ERROR_INVALID_ACL = 1336
|
473
|
+
ERROR_INVALID_SID = 1337
|
474
|
+
ERROR_INVALID_SECURITY_DESCR = 1338
|
475
|
+
ERROR_BAD_INHERITANCE_ACL = 1340
|
476
|
+
ERROR_SERVER_DISABLED = 1341
|
477
|
+
ERROR_SERVER_NOT_DISABLED = 1342
|
478
|
+
ERROR_INVALID_ID_AUTHORITY = 1343
|
479
|
+
ERROR_ALLOTTED_SPACE_EXCEEDED = 1344
|
480
|
+
ERROR_INVALID_GROUP_ATTRIBUTES = 1345
|
481
|
+
ERROR_BAD_IMPERSONATION_LEVEL = 1346
|
482
|
+
ERROR_CANT_OPEN_ANONYMOUS = 1347
|
483
|
+
ERROR_BAD_VALIDATION_CLASS = 1348
|
484
|
+
ERROR_BAD_TOKEN_TYPE = 1349
|
485
|
+
ERROR_NO_SECURITY_ON_OBJECT = 1350
|
486
|
+
ERROR_CANT_ACCESS_DOMAIN_INFO = 1351
|
487
|
+
ERROR_INVALID_SERVER_STATE = 1352
|
488
|
+
ERROR_INVALID_DOMAIN_STATE = 1353
|
489
|
+
ERROR_INVALID_DOMAIN_ROLE = 1354
|
490
|
+
ERROR_NO_SUCH_DOMAIN = 1355
|
491
|
+
ERROR_DOMAIN_EXISTS = 1356
|
492
|
+
ERROR_DOMAIN_LIMIT_EXCEEDED = 1357
|
493
|
+
ERROR_INTERNAL_DB_CORRUPTION = 1358
|
494
|
+
ERROR_INTERNAL_ERROR = 1359
|
495
|
+
ERROR_GENERIC_NOT_MAPPED = 1360
|
496
|
+
ERROR_BAD_DESCRIPTOR_FORMAT = 1361
|
497
|
+
ERROR_NOT_LOGON_PROCESS = 1362
|
498
|
+
ERROR_LOGON_SESSION_EXISTS = 1363
|
499
|
+
ERROR_NO_SUCH_PACKAGE = 1364
|
500
|
+
ERROR_BAD_LOGON_SESSION_STATE = 1365
|
501
|
+
ERROR_LOGON_SESSION_COLLISION = 1366
|
502
|
+
ERROR_INVALID_LOGON_TYPE = 1367
|
503
|
+
ERROR_CANNOT_IMPERSONATE = 1368
|
504
|
+
ERROR_RXACT_INVALID_STATE = 1369
|
505
|
+
ERROR_RXACT_COMMIT_FAILURE = 1370
|
506
|
+
ERROR_SPECIAL_ACCOUNT = 1371
|
507
|
+
ERROR_SPECIAL_GROUP = 1372
|
508
|
+
ERROR_SPECIAL_USER = 1373
|
509
|
+
ERROR_MEMBERS_PRIMARY_GROUP = 1374
|
510
|
+
ERROR_TOKEN_ALREADY_IN_USE = 1375
|
511
|
+
ERROR_NO_SUCH_ALIAS = 1376
|
512
|
+
ERROR_MEMBER_NOT_IN_ALIAS = 1377
|
513
|
+
ERROR_MEMBER_IN_ALIAS = 1378
|
514
|
+
ERROR_ALIAS_EXISTS = 1379
|
515
|
+
ERROR_LOGON_NOT_GRANTED = 1380
|
516
|
+
ERROR_TOO_MANY_SECRETS = 1381
|
517
|
+
ERROR_SECRET_TOO_LONG = 1382
|
518
|
+
ERROR_INTERNAL_DB_ERROR = 1383
|
519
|
+
ERROR_TOO_MANY_CONTEXT_IDS = 1384
|
520
|
+
ERROR_LOGON_TYPE_NOT_GRANTED = 1385
|
521
|
+
ERROR_NT_CROSS_ENCRYPTION_REQUIRED = 1386
|
522
|
+
ERROR_NO_SUCH_MEMBER = 1387
|
523
|
+
ERROR_INVALID_MEMBER = 1388
|
524
|
+
ERROR_TOO_MANY_SIDS = 1389
|
525
|
+
ERROR_LM_CROSS_ENCRYPTION_REQUIRED = 1390
|
526
|
+
ERROR_NO_INHERITANCE = 1391
|
527
|
+
ERROR_FILE_CORRUPT = 1392
|
528
|
+
ERROR_DISK_CORRUPT = 1393
|
529
|
+
ERROR_NO_USER_SESSION_KEY = 1394
|
530
|
+
ERROR_LICENSE_QUOTA_EXCEEDED = 1395
|
531
|
+
ERROR_WRONG_TARGET_NAME = 1396
|
532
|
+
ERROR_MUTUAL_AUTH_FAILED = 1397
|
533
|
+
ERROR_TIME_SKEW = 1398
|
534
|
+
ERROR_CURRENT_DOMAIN_NOT_ALLOWED = 1399
|
535
|
+
ERROR_INVALID_WINDOW_HANDLE = 1400
|
536
|
+
ERROR_INVALID_MENU_HANDLE = 1401
|
537
|
+
ERROR_INVALID_CURSOR_HANDLE = 1402
|
538
|
+
ERROR_INVALID_ACCEL_HANDLE = 1403
|
539
|
+
ERROR_INVALID_HOOK_HANDLE = 1404
|
540
|
+
ERROR_INVALID_DWP_HANDLE = 1405
|
541
|
+
ERROR_TLW_WITH_WSCHILD = 1406
|
542
|
+
ERROR_CANNOT_FIND_WND_CLASS = 1407
|
543
|
+
ERROR_WINDOW_OF_OTHER_THREAD = 1408
|
544
|
+
ERROR_HOTKEY_ALREADY_REGISTERED = 1409
|
545
|
+
ERROR_CLASS_ALREADY_EXISTS = 1410
|
546
|
+
ERROR_CLASS_DOES_NOT_EXIST = 1411
|
547
|
+
ERROR_CLASS_HAS_WINDOWS = 1412
|
548
|
+
ERROR_INVALID_INDEX = 1413
|
549
|
+
ERROR_INVALID_ICON_HANDLE = 1414
|
550
|
+
ERROR_PRIVATE_DIALOG_INDEX = 1415
|
551
|
+
ERROR_LISTBOX_ID_NOT_FOUND = 1416
|
552
|
+
ERROR_NO_WILDCARD_CHARACTERS = 1417
|
553
|
+
ERROR_CLIPBOARD_NOT_OPEN = 1418
|
554
|
+
ERROR_HOTKEY_NOT_REGISTERED = 1419
|
555
|
+
ERROR_WINDOW_NOT_DIALOG = 1420
|
556
|
+
ERROR_CONTROL_ID_NOT_FOUND = 1421
|
557
|
+
ERROR_INVALID_COMBOBOX_MESSAGE = 1422
|
558
|
+
ERROR_WINDOW_NOT_COMBOBOX = 1423
|
559
|
+
ERROR_INVALID_EDIT_HEIGHT = 1424
|
560
|
+
ERROR_DC_NOT_FOUND = 1425
|
561
|
+
ERROR_INVALID_HOOK_FILTER = 1426
|
562
|
+
ERROR_INVALID_FILTER_PROC = 1427
|
563
|
+
ERROR_HOOK_NEEDS_HMOD = 1428
|
564
|
+
ERROR_GLOBAL_ONLY_HOOK = 1429
|
565
|
+
ERROR_JOURNAL_HOOK_SET = 1430
|
566
|
+
ERROR_HOOK_NOT_INSTALLED = 1431
|
567
|
+
ERROR_INVALID_LB_MESSAGE = 1432
|
568
|
+
ERROR_SETCOUNT_ON_BAD_LB = 1433
|
569
|
+
ERROR_LB_WITHOUT_TABSTOPS = 1434
|
570
|
+
ERROR_DESTROY_OBJECT_OF_OTHER_THREAD = 1435
|
571
|
+
ERROR_CHILD_WINDOW_MENU = 1436
|
572
|
+
ERROR_NO_SYSTEM_MENU = 1437
|
573
|
+
ERROR_INVALID_MSGBOX_STYLE = 1438
|
574
|
+
ERROR_INVALID_SPI_VALUE = 1439
|
575
|
+
ERROR_SCREEN_ALREADY_LOCKED = 1440
|
576
|
+
ERROR_HWNDS_HAVE_DIFF_PARENT = 1441
|
577
|
+
ERROR_NOT_CHILD_WINDOW = 1442
|
578
|
+
ERROR_INVALID_GW_COMMAND = 1443
|
579
|
+
ERROR_INVALID_THREAD_ID = 1444
|
580
|
+
ERROR_NON_MDICHILD_WINDOW = 1445
|
581
|
+
ERROR_POPUP_ALREADY_ACTIVE = 1446
|
582
|
+
ERROR_NO_SCROLLBARS = 1447
|
583
|
+
ERROR_INVALID_SCROLLBAR_RANGE = 1448
|
584
|
+
ERROR_INVALID_SHOWWIN_COMMAND = 1449
|
585
|
+
ERROR_NO_SYSTEM_RESOURCES = 1450
|
586
|
+
ERROR_NONPAGED_SYSTEM_RESOURCES = 1451
|
587
|
+
ERROR_PAGED_SYSTEM_RESOURCES = 1452
|
588
|
+
ERROR_WORKING_SET_QUOTA = 1453
|
589
|
+
ERROR_PAGEFILE_QUOTA = 1454
|
590
|
+
ERROR_COMMITMENT_LIMIT = 1455
|
591
|
+
ERROR_MENU_ITEM_NOT_FOUND = 1456
|
592
|
+
ERROR_INVALID_KEYBOARD_HANDLE = 1457
|
593
|
+
ERROR_HOOK_TYPE_NOT_ALLOWED = 1458
|
594
|
+
ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION = 1459
|
595
|
+
ERROR_TIMEOUT = 1460
|
596
|
+
ERROR_INVALID_MONITOR_HANDLE = 1461
|
597
|
+
ERROR_EVENTLOG_FILE_CORRUPT = 1500
|
598
|
+
ERROR_EVENTLOG_CANT_START = 1501
|
599
|
+
ERROR_LOG_FILE_FULL = 1502
|
600
|
+
ERROR_EVENTLOG_FILE_CHANGED = 1503
|
601
|
+
ERROR_INVALID_TASK_NAME = 1550
|
602
|
+
ERROR_INVALID_TASK_INDEX = 1551
|
603
|
+
ERROR_THREAD_ALREADY_IN_TASK = 1552
|
604
|
+
ERROR_INSTALL_SERVICE_FAILURE = 1601
|
605
|
+
ERROR_INSTALL_USEREXIT = 1602
|
606
|
+
ERROR_INSTALL_FAILURE = 1603
|
607
|
+
ERROR_INSTALL_SUSPEND = 1604
|
608
|
+
ERROR_UNKNOWN_PRODUCT = 1605
|
609
|
+
ERROR_UNKNOWN_FEATURE = 1606
|
610
|
+
ERROR_UNKNOWN_COMPONENT = 1607
|
611
|
+
ERROR_UNKNOWN_PROPERTY = 1608
|
612
|
+
ERROR_INVALID_HANDLE_STATE = 1609
|
613
|
+
ERROR_BAD_CONFIGURATION = 1610
|
614
|
+
ERROR_INDEX_ABSENT = 1611
|
615
|
+
ERROR_INSTALL_SOURCE_ABSENT = 1612
|
616
|
+
ERROR_INSTALL_PACKAGE_VERSION = 1613
|
617
|
+
ERROR_PRODUCT_UNINSTALLED = 1614
|
618
|
+
ERROR_BAD_QUERY_SYNTAX = 1615
|
619
|
+
ERROR_INVALID_FIELD = 1616
|
620
|
+
ERROR_DEVICE_REMOVED = 1617
|
621
|
+
ERROR_INSTALL_ALREADY_RUNNING = 1618
|
622
|
+
ERROR_INSTALL_PACKAGE_OPEN_FAILED = 1619
|
623
|
+
ERROR_INSTALL_PACKAGE_INVALID = 1620
|
624
|
+
ERROR_INSTALL_UI_FAILURE = 1621
|
625
|
+
ERROR_INSTALL_LOG_FAILURE = 1622
|
626
|
+
ERROR_INSTALL_LANGUAGE_UNSUPPORTED = 1623
|
627
|
+
ERROR_INSTALL_TRANSFORM_FAILURE = 1624
|
628
|
+
ERROR_INSTALL_PACKAGE_REJECTED = 1625
|
629
|
+
ERROR_FUNCTION_NOT_CALLED = 1626
|
630
|
+
ERROR_FUNCTION_FAILED = 1627
|
631
|
+
ERROR_INVALID_TABLE = 1628
|
632
|
+
ERROR_DATATYPE_MISMATCH = 1629
|
633
|
+
ERROR_UNSUPPORTED_TYPE = 1630
|
634
|
+
ERROR_CREATE_FAILED = 1631
|
635
|
+
ERROR_INSTALL_TEMP_UNWRITABLE = 1632
|
636
|
+
ERROR_INSTALL_PLATFORM_UNSUPPORTED = 1633
|
637
|
+
ERROR_INSTALL_NOTUSED = 1634
|
638
|
+
ERROR_PATCH_PACKAGE_OPEN_FAILED = 1635
|
639
|
+
ERROR_PATCH_PACKAGE_INVALID = 1636
|
640
|
+
ERROR_PATCH_PACKAGE_UNSUPPORTED = 1637
|
641
|
+
ERROR_PRODUCT_VERSION = 1638
|
642
|
+
ERROR_INVALID_COMMAND_LINE = 1639
|
643
|
+
ERROR_INSTALL_REMOTE_DISALLOWED = 1640
|
644
|
+
ERROR_SUCCESS_REBOOT_INITIATED = 1641
|
645
|
+
ERROR_UNKNOWN_PATCH = 1647
|
646
|
+
RPC_S_INVALID_STRING_BINDING = 1700
|
647
|
+
RPC_S_WRONG_KIND_OF_BINDING = 1701
|
648
|
+
RPC_S_INVALID_BINDING = 1702
|
649
|
+
RPC_S_PROTSEQ_NOT_SUPPORTED = 1703
|
650
|
+
RPC_S_INVALID_RPC_PROTSEQ = 1704
|
651
|
+
RPC_S_INVALID_STRING_UUID = 1705
|
652
|
+
RPC_S_INVALID_ENDPOINT_FORMAT = 1706
|
653
|
+
RPC_S_INVALID_NET_ADDR = 1707
|
654
|
+
RPC_S_NO_ENDPOINT_FOUND = 1708
|
655
|
+
RPC_S_INVALID_TIMEOUT = 1709
|
656
|
+
RPC_S_OBJECT_NOT_FOUND = 1710
|
657
|
+
RPC_S_ALREADY_REGISTERED = 1711
|
658
|
+
RPC_S_TYPE_ALREADY_REGISTERED = 1712
|
659
|
+
RPC_S_ALREADY_LISTENING = 1713
|
660
|
+
RPC_S_NO_PROTSEQS_REGISTERED = 1714
|
661
|
+
RPC_S_NOT_LISTENING = 1715
|
662
|
+
RPC_S_UNKNOWN_MGR_TYPE = 1716
|
663
|
+
RPC_S_UNKNOWN_IF = 1717
|
664
|
+
RPC_S_NO_BINDINGS = 1718
|
665
|
+
RPC_S_NO_PROTSEQS = 1719
|
666
|
+
RPC_S_CANT_CREATE_ENDPOINT = 1720
|
667
|
+
RPC_S_OUT_OF_RESOURCES = 1721
|
668
|
+
RPC_S_SERVER_UNAVAILABLE = 1722
|
669
|
+
RPC_S_SERVER_TOO_BUSY = 1723
|
670
|
+
RPC_S_INVALID_NETWORK_OPTIONS = 1724
|
671
|
+
RPC_S_NO_CALL_ACTIVE = 1725
|
672
|
+
RPC_S_CALL_FAILED = 1726
|
673
|
+
RPC_S_CALL_FAILED_DNE = 1727
|
674
|
+
RPC_S_PROTOCOL_ERROR = 1728
|
675
|
+
RPC_S_UNSUPPORTED_TRANS_SYN = 1730
|
676
|
+
RPC_S_UNSUPPORTED_TYPE = 1732
|
677
|
+
RPC_S_INVALID_TAG = 1733
|
678
|
+
RPC_S_INVALID_BOUND = 1734
|
679
|
+
RPC_S_NO_ENTRY_NAME = 1735
|
680
|
+
RPC_S_INVALID_NAME_SYNTAX = 1736
|
681
|
+
RPC_S_UNSUPPORTED_NAME_SYNTAX = 1737
|
682
|
+
RPC_S_UUID_NO_ADDRESS = 1739
|
683
|
+
RPC_S_DUPLICATE_ENDPOINT = 1740
|
684
|
+
RPC_S_UNKNOWN_AUTHN_TYPE = 1741
|
685
|
+
RPC_S_MAX_CALLS_TOO_SMALL = 1742
|
686
|
+
RPC_S_STRING_TOO_LONG = 1743
|
687
|
+
RPC_S_PROTSEQ_NOT_FOUND = 1744
|
688
|
+
RPC_S_PROCNUM_OUT_OF_RANGE = 1745
|
689
|
+
RPC_S_BINDING_HAS_NO_AUTH = 1746
|
690
|
+
RPC_S_UNKNOWN_AUTHN_SERVICE = 1747
|
691
|
+
RPC_S_UNKNOWN_AUTHN_LEVEL = 1748
|
692
|
+
RPC_S_INVALID_AUTH_IDENTITY = 1749
|
693
|
+
RPC_S_UNKNOWN_AUTHZ_SERVICE = 1750
|
694
|
+
EPT_S_INVALID_ENTRY = 1751
|
695
|
+
EPT_S_CANT_PERFORM_OP = 1752
|
696
|
+
EPT_S_NOT_REGISTERED = 1753
|
697
|
+
RPC_S_NOTHING_TO_EXPORT = 1754
|
698
|
+
RPC_S_INCOMPLETE_NAME = 1755
|
699
|
+
RPC_S_INVALID_VERS_OPTION = 1756
|
700
|
+
RPC_S_NO_MORE_MEMBERS = 1757
|
701
|
+
RPC_S_NOT_ALL_OBJS_UNEXPORTED = 1758
|
702
|
+
RPC_S_INTERFACE_NOT_FOUND = 1759
|
703
|
+
RPC_S_ENTRY_ALREADY_EXISTS = 1760
|
704
|
+
RPC_S_ENTRY_NOT_FOUND = 1761
|
705
|
+
RPC_S_NAME_SERVICE_UNAVAILABLE = 1762
|
706
|
+
RPC_S_INVALID_NAF_ID = 1763
|
707
|
+
RPC_S_CANNOT_SUPPORT = 1764
|
708
|
+
RPC_S_NO_CONTEXT_AVAILABLE = 1765
|
709
|
+
RPC_S_INTERNAL_ERROR = 1766
|
710
|
+
RPC_S_ZERO_DIVIDE = 1767
|
711
|
+
RPC_S_ADDRESS_ERROR = 1768
|
712
|
+
RPC_S_FP_DIV_ZERO = 1769
|
713
|
+
RPC_S_FP_UNDERFLOW = 1770
|
714
|
+
RPC_S_FP_OVERFLOW = 1771
|
715
|
+
RPC_X_NO_MORE_ENTRIES = 1772
|
716
|
+
RPC_X_SS_CHAR_TRANS_OPEN_FAIL = 1773
|
717
|
+
RPC_X_SS_CHAR_TRANS_SHORT_FILE = 1774
|
718
|
+
RPC_X_SS_IN_NULL_CONTEXT = 1775
|
719
|
+
RPC_X_SS_CONTEXT_DAMAGED = 1777
|
720
|
+
RPC_X_SS_HANDLES_MISMATCH = 1778
|
721
|
+
RPC_X_SS_CANNOT_GET_CALL_HANDLE = 1779
|
722
|
+
RPC_X_NULL_REF_POINTER = 1780
|
723
|
+
RPC_X_ENUM_VALUE_OUT_OF_RANGE = 1781
|
724
|
+
RPC_X_BYTE_COUNT_TOO_SMALL = 1782
|
725
|
+
RPC_X_BAD_STUB_DATA = 1783
|
726
|
+
ERROR_INVALID_USER_BUFFER = 1784
|
727
|
+
ERROR_UNRECOGNIZED_MEDIA = 1785
|
728
|
+
ERROR_NO_TRUST_LSA_SECRET = 1786
|
729
|
+
ERROR_NO_TRUST_SAM_ACCOUNT = 1787
|
730
|
+
ERROR_TRUSTED_DOMAIN_FAILURE = 1788
|
731
|
+
ERROR_TRUSTED_RELATIONSHIP_FAILURE = 1789
|
732
|
+
ERROR_TRUST_FAILURE = 1790
|
733
|
+
RPC_S_CALL_IN_PROGRESS = 1791
|
734
|
+
ERROR_NETLOGON_NOT_STARTED = 1792
|
735
|
+
ERROR_ACCOUNT_EXPIRED = 1793
|
736
|
+
ERROR_REDIRECTOR_HAS_OPEN_HANDLES = 1794
|
737
|
+
ERROR_PRINTER_DRIVER_ALREADY_INSTALLED= 1795
|
738
|
+
ERROR_UNKNOWN_PORT = 1796
|
739
|
+
ERROR_UNKNOWN_PRINTER_DRIVER = 1797
|
740
|
+
ERROR_UNKNOWN_PRINTPROCESSOR = 1798
|
741
|
+
ERROR_INVALID_SEPARATOR_FILE = 1799
|
742
|
+
ERROR_INVALID_PRIORITY = 1800
|
743
|
+
ERROR_INVALID_PRINTER_NAME = 1801
|
744
|
+
ERROR_PRINTER_ALREADY_EXISTS = 1802
|
745
|
+
ERROR_INVALID_PRINTER_COMMAND = 1803
|
746
|
+
ERROR_INVALID_DATATYPE = 1804
|
747
|
+
ERROR_INVALID_ENVIRONMENT = 1805
|
748
|
+
RPC_S_NO_MORE_BINDINGS = 1806
|
749
|
+
ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT = 1807
|
750
|
+
ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT = 1808
|
751
|
+
ERROR_NOLOGON_SERVER_TRUST_ACCOUNT = 1809
|
752
|
+
ERROR_DOMAIN_TRUST_INCONSISTENT = 1810
|
753
|
+
ERROR_SERVER_HAS_OPEN_HANDLES = 1811
|
754
|
+
ERROR_RESOURCE_DATA_NOT_FOUND = 1812
|
755
|
+
ERROR_RESOURCE_TYPE_NOT_FOUND = 1813
|
756
|
+
ERROR_RESOURCE_NAME_NOT_FOUND = 1814
|
757
|
+
ERROR_RESOURCE_LANG_NOT_FOUND = 1815
|
758
|
+
ERROR_NOT_ENOUGH_QUOTA = 1816
|
759
|
+
RPC_S_NO_INTERFACES = 1817
|
760
|
+
RPC_S_CALL_CANCELLED = 1818
|
761
|
+
RPC_S_BINDING_INCOMPLETE = 1819
|
762
|
+
RPC_S_COMM_FAILURE = 1820
|
763
|
+
RPC_S_UNSUPPORTED_AUTHN_LEVEL = 1821
|
764
|
+
RPC_S_NO_PRINC_NAME = 1822
|
765
|
+
RPC_S_NOT_RPC_ERROR = 1823
|
766
|
+
RPC_S_UUID_LOCAL_ONLY = 1824
|
767
|
+
RPC_S_SEC_PKG_ERROR = 1825
|
768
|
+
RPC_S_NOT_CANCELLED = 1826
|
769
|
+
RPC_X_INVALID_ES_ACTION = 1827
|
770
|
+
RPC_X_WRONG_ES_VERSION = 1828
|
771
|
+
RPC_X_WRONG_STUB_VERSION = 1829
|
772
|
+
RPC_X_INVALID_PIPE_OBJECT = 1830
|
773
|
+
RPC_X_WRONG_PIPE_ORDER = 1831
|
774
|
+
RPC_X_WRONG_PIPE_VERSION = 1832
|
775
|
+
RPC_S_GROUP_MEMBER_NOT_FOUND = 1898
|
776
|
+
EPT_S_CANT_CREATE = 1899
|
777
|
+
RPC_S_INVALID_OBJECT = 1900
|
778
|
+
ERROR_INVALID_TIME = 1901
|
779
|
+
ERROR_INVALID_FORM_NAME = 1902
|
780
|
+
ERROR_INVALID_FORM_SIZE = 1903
|
781
|
+
ERROR_ALREADY_WAITING = 1904
|
782
|
+
ERROR_PRINTER_DELETED = 1905
|
783
|
+
ERROR_INVALID_PRINTER_STATE = 1906
|
784
|
+
ERROR_PASSWORD_MUST_CHANGE = 1907
|
785
|
+
ERROR_DOMAIN_CONTROLLER_NOT_FOUND = 1908
|
786
|
+
ERROR_ACCOUNT_LOCKED_OUT = 1909
|
787
|
+
OR_INVALID_OXID = 1910
|
788
|
+
OR_INVALID_OID = 1911
|
789
|
+
OR_INVALID_SET = 1912
|
790
|
+
RPC_S_SEND_INCOMPLETE = 1913
|
791
|
+
RPC_S_INVALID_ASYNC_HANDLE = 1914
|
792
|
+
RPC_S_INVALID_ASYNC_CALL = 1915
|
793
|
+
RPC_X_PIPE_CLOSED = 1916
|
794
|
+
RPC_X_PIPE_DISCIPLINE_ERROR = 1917
|
795
|
+
RPC_X_PIPE_EMPTY = 1918
|
796
|
+
ERROR_NO_SITENAME = 1919
|
797
|
+
ERROR_CANT_ACCESS_FILE = 1920
|
798
|
+
ERROR_CANT_RESOLVE_FILENAME = 1921
|
799
|
+
RPC_S_ENTRY_TYPE_MISMATCH = 1922
|
800
|
+
RPC_S_NOT_ALL_OBJS_EXPORTED = 1923
|
801
|
+
RPC_S_INTERFACE_NOT_EXPORTED = 1924
|
802
|
+
RPC_S_PROFILE_NOT_ADDED = 1925
|
803
|
+
RPC_S_PRF_ELT_NOT_ADDED = 1926
|
804
|
+
RPC_S_PRF_ELT_NOT_REMOVED = 1927
|
805
|
+
RPC_S_GRP_ELT_NOT_ADDED = 1928
|
806
|
+
RPC_S_GRP_ELT_NOT_REMOVED = 1929
|
807
|
+
ERROR_KM_DRIVER_BLOCKED = 1930
|
808
|
+
ERROR_CONTEXT_EXPIRED = 1931
|
809
|
+
ERROR_PER_USER_TRUST_QUOTA_EXCEEDED = 1932
|
810
|
+
ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED = 1933
|
811
|
+
ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED= 1934
|
812
|
+
ERROR_AUTHENTICATION_FIREWALL_FAILED = 1935
|
813
|
+
ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED= 1936
|
814
|
+
ERROR_INVALID_PIXEL_FORMAT = 2000
|
815
|
+
ERROR_BAD_DRIVER = 2001
|
816
|
+
ERROR_INVALID_WINDOW_STYLE = 2002
|
817
|
+
ERROR_METAFILE_NOT_SUPPORTED = 2003
|
818
|
+
ERROR_TRANSFORM_NOT_SUPPORTED = 2004
|
819
|
+
ERROR_CLIPPING_NOT_SUPPORTED = 2005
|
820
|
+
ERROR_INVALID_CMM = 2010
|
821
|
+
ERROR_INVALID_PROFILE = 2011
|
822
|
+
ERROR_TAG_NOT_FOUND = 2012
|
823
|
+
ERROR_TAG_NOT_PRESENT = 2013
|
824
|
+
ERROR_DUPLICATE_TAG = 2014
|
825
|
+
ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE = 2015
|
826
|
+
ERROR_PROFILE_NOT_FOUND = 2016
|
827
|
+
ERROR_INVALID_COLORSPACE = 2017
|
828
|
+
ERROR_ICM_NOT_ENABLED = 2018
|
829
|
+
ERROR_DELETING_ICM_XFORM = 2019
|
830
|
+
ERROR_INVALID_TRANSFORM = 2020
|
831
|
+
ERROR_COLORSPACE_MISMATCH = 2021
|
832
|
+
ERROR_INVALID_COLORINDEX = 2022
|
833
|
+
ERROR_CONNECTED_OTHER_PASSWORD = 2108
|
834
|
+
ERROR_BAD_USERNAME = 2202
|
835
|
+
ERROR_NOT_CONNECTED = 2250
|
836
|
+
ERROR_OPEN_FILES = 2401
|
837
|
+
ERROR_ACTIVE_CONNECTIONS = 2402
|
838
|
+
ERROR_DEVICE_IN_USE = 2404
|
839
|
+
ERROR_UNKNOWN_PRINT_MONITOR = 3000
|
840
|
+
# :startdoc:
|
841
|
+
|
842
|
+
ERROR_USER_DEFINED_BASE = 0xF000
|
843
|
+
|
844
|
+
# Flags for FormatMessage function:
|
845
|
+
|
846
|
+
FORMAT_MESSAGE_ALLOCATE_BUFFER = 0x00000100
|
847
|
+
FORMAT_MESSAGE_IGNORE_INSERTS = 0x00000200
|
848
|
+
FORMAT_MESSAGE_FROM_STRING = 0x00000400
|
849
|
+
FORMAT_MESSAGE_FROM_HMODULE = 0x00000800
|
850
|
+
FORMAT_MESSAGE_FROM_SYSTEM = 0x00001000
|
851
|
+
FORMAT_MESSAGE_ARGUMENT_ARRAY = 0x00002000
|
852
|
+
FORMAT_MESSAGE_MAX_WIDTH_MASK = 0x000000FF
|
853
|
+
|
854
|
+
# Set/GetErrorMode values:
|
855
|
+
|
856
|
+
SEM_FAILCRITICALERRORS = 0x0001
|
857
|
+
SEM_NOALIGNMENTFAULTEXCEPT = 0x0004
|
858
|
+
SEM_NOGPFAULTERRORBOX = 0x0002
|
859
|
+
SEM_NOOPENFILEERRORBOX = 0x8000
|
860
|
+
|
861
|
+
##
|
862
|
+
# FormatMessage Function
|
863
|
+
# Formats a message string. The function requires a message definition as input. The message definition
|
864
|
+
# can come from a buffer passed into the function. It can come from a message table resource in an
|
865
|
+
# already-loaded module. Or the caller can ask the function to search the system's message table
|
866
|
+
# resource(s) for the message definition. The function finds the message definition in a message table
|
867
|
+
# resource based on a message identifier and a language identifier. The function copies the formatted
|
868
|
+
# message text to an output buffer, processing any embedded insert sequences if requested.
|
869
|
+
#
|
870
|
+
# [*Syntax*] DWORD WINAPI FormatMessage( DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD
|
871
|
+
# dwLanguageId, LPTSTR lpBuffer, DWORD nSize, va_list* Arguments );
|
872
|
+
#
|
873
|
+
# dwFlags:: [in] The formatting options, and how to interpret the lpSource parameter. The low-order byte of dwFlags
|
874
|
+
# specifies how the function handles line breaks in the output buffer. The low-order byte can also
|
875
|
+
# specify the maximum width of a formatted output line. Possible values:
|
876
|
+
# - FORMAT_MESSAGE_ALLOCATE_BUFFER - The lpBuffer parameter is a pointer to a PVOID pointer, and that
|
877
|
+
# the nSize parameter specifies the minimum number of TCHARs to allocate for an output message buffer.
|
878
|
+
# The function allocates a buffer large enough to hold the formatted message, and places a pointer to
|
879
|
+
# the allocated buffer at the address specified by lpBuffer. The caller should use the LocalFree
|
880
|
+
# function to free the buffer when it is no longer needed.
|
881
|
+
# - FORMAT_MESSAGE_ARGUMENT_ARRAY - The Arguments parameter is not a va_list structure, but is a pointer
|
882
|
+
# to an array of values that represent the arguments. This flag cannot be used with 64-bit integer
|
883
|
+
# values. If you are using a 64-bit integer, you must use the va_list structure.
|
884
|
+
# - FORMAT_MESSAGE_FROM_HMODULE - The lpSource parameter is a module handle containing the message-table
|
885
|
+
# resource(s) to search. If this lpSource handle is NULL, the current process's application image file
|
886
|
+
# will be searched. This flag cannot be used with FORMAT_MESSAGE_FROM_STRING. If the module has no
|
887
|
+
# message table resource, the function fails with ERROR_RESOURCE_TYPE_NOT_FOUND.
|
888
|
+
# - FORMAT_MESSAGE_FROM_STRING - The lpSource parameter is a pointer to a null-terminated string that
|
889
|
+
# contains a message definition. The message definition may contain insert sequences, just as the
|
890
|
+
# message text in a message table resource may. Cannot be used with FORMAT_MESSAGE_FROM_HMODULE or
|
891
|
+
# FORMAT_MESSAGE_FROM_SYSTEM.
|
892
|
+
# - FORMAT_MESSAGE_FROM_SYSTEM - The function should search the system message-table resource(s) for
|
893
|
+
# the requested message. If this flag is specified with FORMAT_MESSAGE_FROM_HMODULE, the function
|
894
|
+
# searches the system message table if the message is not found in the module specified by lpSource.
|
895
|
+
# This flag cannot be used with FORMAT_MESSAGE_FROM_STRING. If this flag is specified, an application
|
896
|
+
# can pass the result of the GetLastError function to retrieve the message text for a system error.
|
897
|
+
# - FORMAT_MESSAGE_IGNORE_INSERTS - Insert sequences in the message definition are to be ignored and
|
898
|
+
# passed through to the output buffer unchanged. This flag is useful for fetching a message for later
|
899
|
+
# formatting. If this flag is set, the Arguments parameter is ignored.
|
900
|
+
# <b>The low-order byte of dwFlags can specify the maximum width of a formatted output line. The
|
901
|
+
# following are possible values of the low-order byte:</b>
|
902
|
+
# - 0 - There are no output line width restrictions. The function stores line breaks that are in the
|
903
|
+
# message definition text into the output buffer.
|
904
|
+
# - FORMAT_MESSAGE_MAX_WIDTH_MASK - The function ignores regular line breaks in the message definition
|
905
|
+
# text. The function stores hard-coded line breaks in the message definition text into the output
|
906
|
+
# buffer. The function generates no new line breaks.
|
907
|
+
# If the low-order byte is a nonzero value other than FORMAT_MESSAGE_MAX_WIDTH_MASK, it specifies the
|
908
|
+
# maximum number of characters in an output line. The function ignores regular line breaks in the
|
909
|
+
# message definition text. The function never splits a string delimited by white space across a line
|
910
|
+
# break. The function stores hard-coded line breaks in the message definition text into the output
|
911
|
+
# buffer. Hard-coded line breaks are coded with the %n escape sequence.
|
912
|
+
# lpSource:: The location of the message definition. The type of this parameter depends upon the settings in the
|
913
|
+
# dwFlags parameter.
|
914
|
+
# - dwFlags FORMAT_MESSAGE_FROM_HMODULE: Handle to the module that contains the message table to search.
|
915
|
+
# - dwFlags FORMAT_MESSAGE_FROM_STRING: Pointer to a string that consists of unformatted message text.
|
916
|
+
# It will be scanned for inserts and formatted accordingly.
|
917
|
+
# - If neither of these flags is set in dwFlags, then lpSource is ignored.
|
918
|
+
# dwMessageId:: The message identifier for the requested message. This parameter is ignored if dwFlags includes
|
919
|
+
# FORMAT_MESSAGE_FROM_STRING.
|
920
|
+
# dwLanguageId:: The language identifier for the requested message. This parameter is ignored if dwFlags includes
|
921
|
+
# FORMAT_MESSAGE_FROM_STRING. If you pass a specific LANGID in this parameter, FormatMessage will
|
922
|
+
# return a message for that LANGID only. If the function cannot find a message for that LANGID, it
|
923
|
+
# returns ERROR_RESOURCE_LANG_NOT_FOUND. If you pass in zero, FormatMessage looks for a message for
|
924
|
+
# LANGIDs in the following order:
|
925
|
+
# 1. Language neutral
|
926
|
+
# 2. Thread LANGID, based on the thread's locale value
|
927
|
+
# 3. User default LANGID, based on the user's default locale value
|
928
|
+
# 4. System default LANGID, based on the system default locale value
|
929
|
+
# 5. US English
|
930
|
+
# If FormatMessage does not locate a message for any of the preceding LANGIDs, it returns any
|
931
|
+
# language message string that is present. If that fails, it returns ERROR_RESOURCE_LANG_NOT_FOUND.
|
932
|
+
# lpBuffer:: A pointer to a buffer that receives the null-terminated string that specifies the formatted message.
|
933
|
+
# If dwFlags includes FORMAT_MESSAGE_ALLOCATE_BUFFER, the function allocates a buffer using the
|
934
|
+
# LocalAlloc function, and places the pointer to the buffer at the address specified in lpBuffer.
|
935
|
+
# This buffer cannot be larger than 64K bytes.
|
936
|
+
# nSize:: If the FORMAT_MESSAGE_ALLOCATE_BUFFER flag is not set, this parameter specifies the size of the output
|
937
|
+
# buffer, in TCHARs. If FORMAT_MESSAGE_ALLOCATE_BUFFER is set, this parameter specifies the minimum
|
938
|
+
# number of TCHARs to allocate for an output buffer. The output buffer cannot be larger than 64K bytes.
|
939
|
+
# Arguments:: An array of values that are used as insert values in the formatted message. A %1 in the format string
|
940
|
+
# indicates the first value in the Arguments array; a %2 indicates the second argument; and so on.
|
941
|
+
# The interpretation of each value depends on the formatting information associated with the insert in
|
942
|
+
# the message definition. The default is to treat each value as a pointer to a null-terminated string.
|
943
|
+
# By default, the Arguments parameter is of type va_list*, which is a language- and
|
944
|
+
# implementation-specific data type for describing a variable number of arguments. The state of the
|
945
|
+
# va_list argument is undefined upon return from the function. To use the va_list again, destroy the
|
946
|
+
# variable argument list pointer using va_end and reinitialize it with va_start.
|
947
|
+
# If you do not have a pointer of type va_list*, then specify the FORMAT_MESSAGE_ARGUMENT_ARRAY flag and
|
948
|
+
# pass a pointer to an array of DWORD_PTR values; those values are input to the message formatted as the
|
949
|
+
# insert values. Each insert must have a corresponding element in the array.
|
950
|
+
#
|
951
|
+
# *Returns*:: If the function succeeds, the return value is the number of TCHARs stored in the output
|
952
|
+
# buffer, excluding the terminating null character. If the function fails, the return value is zero.
|
953
|
+
# To get extended error information, call GetLastError.
|
954
|
+
# ---
|
955
|
+
# *Remarks*:
|
956
|
+
# Within the message text, several escape sequences are supported for dynamically formatting the
|
957
|
+
# message. These escape sequences and their meanings are shown in the following tables. All escape
|
958
|
+
# sequences start with the percent character (%).
|
959
|
+
# %0:: Terminates a message text line without a trailing new line character. This escape sequence can be
|
960
|
+
# used to build up long lines or to terminate the message itself without a trailing new line character.
|
961
|
+
# It is useful for prompt messages.
|
962
|
+
# %n!format string!:: Identifies an insert. The value of n can be in the range from 1 through 99. The format string
|
963
|
+
# (which must be surrounded by exclamation marks) is optional and defaults to !s! if not
|
964
|
+
# specified. For more information, see Format Specification Fields. The format string can
|
965
|
+
# include a width and precision specifier for strings and a width specifier for integers.
|
966
|
+
# Use an asterisk (*) to specify the width and precision. For example, %1!*.*s! or %1!*u!.
|
967
|
+
# If you do not use the width and precision specifiers, the insert numbers correspond directly
|
968
|
+
# to the input arguments. For example, if the source string is "%1 %2 %1" and the input
|
969
|
+
# arguments are "Bill" and "Bob", the formatted output string is "Bill Bob Bill".
|
970
|
+
# However, if you use a width and precision specifier, the insert numbers do not correspond
|
971
|
+
# directly to # the input arguments. For example, the insert numbers for the previous
|
972
|
+
# example could change to "%1!*.*s! %4 %5!*s!".
|
973
|
+
# The insert numbers depend on whether you use arguments array (FORMAT_MESSAGE_ARGUMENT_ARRAY)
|
974
|
+
# or a va_list. For an arguments array, the next insert number is n+2 if the previous format
|
975
|
+
# string contained one asterisk and is n+3 if two asterisks were specified. For a va_list,
|
976
|
+
# the next insert number is n+1 if the previous format string contained one asterisk and is n+2
|
977
|
+
# if two asterisks were specified. If you want to repeat "Bill", as in the previous example,
|
978
|
+
# the arguments must include "Bill" twice. E.g., if source string is "%1!*.*s! %4 %5!*s!",
|
979
|
+
# the arguments could be, 4, 2, Bill, Bob, 6, Bill (if using the FORMAT_MESSAGE_ARGUMENT_ARRAY).
|
980
|
+
# The formatted string would then be " Bi Bob Bill".
|
981
|
+
# Repeating insert numbers when the source string contains width and precision specifiers may
|
982
|
+
# not yield the intended results. If you replaced %5 with %1, the function would try to print
|
983
|
+
# a string at address 6 (likely resulting in an access violation).
|
984
|
+
# Floating-point format specifiers—e, E, f, and g—are not supported. The workaround is to use
|
985
|
+
# the StringCchPrintf function to format the floating-point number into a temporary buffer,
|
986
|
+
# then use that buffer as the insert string.
|
987
|
+
# Inserts that use the I64 prefix are treated as two 32-bit arguments. They must be used before
|
988
|
+
# subsequent arguments are used. Note that it may be easier for you to use StringCchPrintf
|
989
|
+
# instead of this prefix.
|
990
|
+
#
|
991
|
+
# Any other nondigit character following a percent character is formatted in the output message without the
|
992
|
+
# percent character. Following are some examples.
|
993
|
+
# %%:: A single percent sign.
|
994
|
+
# %space:: A single space. This format string can be used to ensure the appropriate number of trailing
|
995
|
+
# spaces in a message text line.
|
996
|
+
# %.:: A single period. This format string can be used to include a single period at the beginning of a
|
997
|
+
# line without terminating the message text definition.
|
998
|
+
# %!:: A single exclamation point. This format string can be used to include an exclamation point
|
999
|
+
# immediately after an insert without its being mistaken for the beginning of a format string.
|
1000
|
+
# %n:: A hard line break when the format string occurs at the end of a line. This format string is useful
|
1001
|
+
# when FormatMessage is supplying regular line breaks so the message fits in a certain width.
|
1002
|
+
# %r:: A hard carriage return without a trailing newline character.
|
1003
|
+
# %t:: A single tab.
|
1004
|
+
# ---
|
1005
|
+
# *Security* *Remarks*:
|
1006
|
+
# If this function is called without FORMAT_MESSAGE_IGNORE_INSERTS, the Arguments parameter must contain
|
1007
|
+
# enough parameters to satisfy all insertion sequences in the message string, and they must be of the
|
1008
|
+
# correct type. Therefore, do not use untrusted or unknown message strings with inserts enabled because
|
1009
|
+
# they can contain more insertion sequences than Arguments provides, or those they may be of the wrong
|
1010
|
+
# type. In particular, it is unsafe to take an arbitrary system error code returned from an API and use
|
1011
|
+
# FORMAT_MESSAGE_FROM_SYSTEM without FORMAT_MESSAGE_IGNORE_INSERTS.
|
1012
|
+
# ---
|
1013
|
+
# <b>Enhanced (snake_case) API: returns message instead of num_chars or *nil* if function fails</b>
|
1014
|
+
#
|
1015
|
+
# :call-seq:
|
1016
|
+
# message = format_message(dw_flags, lp_source, dw_message_id, dw_language_id, *args)
|
1017
|
+
#
|
1018
|
+
function :FormatMessage, [:DWORD, :LPCVOID, :DWORD, :DWORD, :LPTSTR, :DWORD, :varargs], :DWORD,
|
1019
|
+
&->(api, flags=FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ARGUMENT_ARRAY,
|
1020
|
+
source=nil, message_id=0, language_id=0, *args){
|
1021
|
+
buffer = FFI::MemoryPointer.new :char, 260
|
1022
|
+
args = [:int, 0] if args.empty?
|
1023
|
+
num_chars = api.call(flags, source, message_id, language_id, buffer, buffer.size, *args)
|
1024
|
+
num_chars == 0 ? nil : buffer.get_bytes(0, num_chars).strip }
|
1025
|
+
|
1026
|
+
##
|
1027
|
+
# GetLastError Function
|
1028
|
+
# Retrieves the calling thread's last-error code value. The last-error code is maintained on a
|
1029
|
+
# per-thread basis. Multiple threads do not overwrite each other's last-error code.
|
1030
|
+
# Visual Basic: Applications should call err.LastDllError instead of GetLastError.
|
1031
|
+
#
|
1032
|
+
# [*Syntax*] DWORD WINAPI GetLastError( void );
|
1033
|
+
#
|
1034
|
+
# This function has no parameters.
|
1035
|
+
#
|
1036
|
+
# *Returns*:: The return value is the calling thread's last-error code.
|
1037
|
+
# The Return Value section of the documentation for each function that sets the last-error code notes
|
1038
|
+
# the conditions under which the function sets the last-error code. Most functions that set the thread's
|
1039
|
+
# last-error code set it when they fail. However, some functions also set the last-error code when they
|
1040
|
+
# succeed. If the function is not documented to set the last-error code, the value returned by this
|
1041
|
+
# function is simply the most recent last-error code to have been set; some functions set the last-error
|
1042
|
+
# code to 0 on success and others do not.
|
1043
|
+
# ---
|
1044
|
+
# *Remarks*:
|
1045
|
+
# Functions executed by the calling thread set this value by calling the SetLastError function. You
|
1046
|
+
# should call the GetLastError function immediately when a function's return value indicates that such a
|
1047
|
+
# call will return useful data. That is because some functions call SetLastError with a zero when they
|
1048
|
+
# succeed, wiping out the error code set by the most recently failed function.
|
1049
|
+
# To obtain an error string for system error codes, use the FormatMessage function. For a complete list
|
1050
|
+
# of error codes provided by the operating system, see System Error Codes.
|
1051
|
+
# The error codes returned by a function are not part of the Windows API specification and can vary by
|
1052
|
+
# operating system or device driver. For this reason, we cannot provide the complete list of error codes
|
1053
|
+
# that can be returned by each function. There are also many functions whose documentation does not
|
1054
|
+
# include even a partial list of error codes that can be returned.
|
1055
|
+
# Error codes are 32-bit values (bit 31 is the most significant bit). Bit 29 is reserved for
|
1056
|
+
# application-defined error codes; no system error code has this bit set. If you are defining an error
|
1057
|
+
# code for your application, set this bit to one. That indicates that the error code has been defined by
|
1058
|
+
# an application, and ensures that your error code does not conflict with any error codes defined by the
|
1059
|
+
# system.
|
1060
|
+
# To convert a system error into an HRESULT value, use the HRESULT_FROM_WIN32 macro.
|
1061
|
+
# ---
|
1062
|
+
# <b>Enhanced (snake_case) API: returns error message instead of error code</b>
|
1063
|
+
#
|
1064
|
+
# :call-seq:
|
1065
|
+
# error_message = get_last_error()
|
1066
|
+
#
|
1067
|
+
function :GetLastError, [], :uint32,
|
1068
|
+
&->(api) { error_code = api.call
|
1069
|
+
flags = FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ARGUMENT_ARRAY
|
1070
|
+
format_message(flags, nil, error_code)}
|
1071
|
+
|
1072
|
+
##
|
1073
|
+
# SetLastError Function
|
1074
|
+
# Sets the last-error code for the calling thread.
|
1075
|
+
#
|
1076
|
+
# [*Syntax*] void WINAPI SetLastError( DWORD dwErrCode );
|
1077
|
+
#
|
1078
|
+
# dwErrCode:: [in] The last-error code for the thread.
|
1079
|
+
#
|
1080
|
+
# *Returns*:: This function does not return a value.
|
1081
|
+
# ---
|
1082
|
+
# *Remarks*:
|
1083
|
+
# - The last-error code is kept in thread local storage so that multiple threads do not overwrite each
|
1084
|
+
# other's values.
|
1085
|
+
# - This function is intended primarily for use by dynamic-link libraries (DLL). A DLL can provide the
|
1086
|
+
# applications that are using it with additional diagnostic information by calling this function after
|
1087
|
+
# an error occurs. Most functions call SetLastError or SetLastErrorEx only when they fail. However, some
|
1088
|
+
# system functions call SetLastError or SetLastErrorEx under conditions of success; those cases are
|
1089
|
+
# noted in each function's documentation.
|
1090
|
+
# - Applications can optionally retrieve the value set by this function by using the GetLastError function
|
1091
|
+
# immediately after a function fails.
|
1092
|
+
# - Error codes are 32-bit values (bit 31 is the most significant bit). Bit 29 is reserved for
|
1093
|
+
# application-defined error codes; no system error code has this bit set. If you are defining an error
|
1094
|
+
# code for your application, set this bit to indicate that the error code has been defined by your
|
1095
|
+
# application and to ensure that your error code does not conflict with any system-defined error codes.
|
1096
|
+
# ---
|
1097
|
+
# <b>Enhanced (snake_case) API: </b>
|
1098
|
+
#
|
1099
|
+
# :call-seq:
|
1100
|
+
# set_last_error(err_code)
|
1101
|
+
#
|
1102
|
+
function :SetLastError, [:DWORD], :void
|
1103
|
+
|
1104
|
+
##
|
1105
|
+
# SetLastErrorEx Function sets the last-error code.
|
1106
|
+
# Currently, this function is identical to the SetLastError function. The second parameter is ignored.
|
1107
|
+
#
|
1108
|
+
# [*Syntax*] void WINAPI SetLastErrorEx( DWORD dwErrCode, DWORD dwType );
|
1109
|
+
#
|
1110
|
+
# dwErrCode:: The last-error code for the thread.
|
1111
|
+
# dwType:: This parameter is ignored.
|
1112
|
+
#
|
1113
|
+
# *Returns*:: This function does not return a value.
|
1114
|
+
# ---
|
1115
|
+
# *Remarks*:
|
1116
|
+
# The last-error code is kept in thread local storage so that multiple threads do not overwrite each
|
1117
|
+
# other's values.
|
1118
|
+
# This function is intended primarily for use by dynamic-link libraries (DLL). A DLL can provide the
|
1119
|
+
# applications that are using it with additional diagnostic information by calling this function after
|
1120
|
+
# an error occurs. Most functions call SetLastError or SetLastErrorEx only when they fail. However, some
|
1121
|
+
# system functions call SetLastError or SetLastErrorEx under conditions of success; those cases are
|
1122
|
+
# noted in each function's documentation.
|
1123
|
+
# Applications can optionally retrieve the value set by this function by using the GetLastError function
|
1124
|
+
# immediately after a function fails.
|
1125
|
+
# Error codes are 32-bit values (bit 31 is the most significant bit). Bit 29 is reserved for
|
1126
|
+
# application-defined error codes; no system error code has this bit set. If you are defining an error
|
1127
|
+
# code for your application, set this bit to indicate that the error code has been defined by the
|
1128
|
+
# application and to ensure that your error code does not conflict with any system-defined error codes.
|
1129
|
+
#
|
1130
|
+
# :call-seq:
|
1131
|
+
# set_last_error_ex(err_code, dw_type)
|
1132
|
+
#
|
1133
|
+
try_function :SetLastErrorEx, [:DWORD, :DWORD], :void
|
1134
|
+
# fails silently unless platform is XP++
|
1135
|
+
|
1136
|
+
##
|
1137
|
+
# GetErrorMode Function
|
1138
|
+
# Retrieves the error mode for the current process.
|
1139
|
+
#
|
1140
|
+
# [*Syntax*] UINT WINAPI GetErrorMode( void );
|
1141
|
+
#
|
1142
|
+
# This function has no parameters.
|
1143
|
+
#
|
1144
|
+
# *Returns*:: The process error mode. This function returns one of the following values.
|
1145
|
+
# SEM_FAILCRITICALERRORS:: The system does not display the critical-error-handler message box. Instead,
|
1146
|
+
# the system sends the error to the calling process.
|
1147
|
+
# SEM_NOALIGNMENTFAULTEXCEPT:: The system automatically fixes memory alignment faults and makes them
|
1148
|
+
# invisible to the application. It does this for the calling process and
|
1149
|
+
# any descendant processes. This feature is only supported by certain
|
1150
|
+
# processor architectures. For more information, see the Remarks section.
|
1151
|
+
# After this value is set for a process, subsequent attempts to clear the
|
1152
|
+
# value are ignored.
|
1153
|
+
# SEM_NOGPFAULTERRORBOX:: The system does not display the general-protection-fault message box. This
|
1154
|
+
# flag should only be set by debugging applications that handle general
|
1155
|
+
# protection (GP) faults themselves with an exception handler.
|
1156
|
+
# SEM_NOOPENFILEERRORBOX:: The system does not display a message box when it fails to find a file.
|
1157
|
+
# Instead, the error is returned to the calling process.
|
1158
|
+
# ---
|
1159
|
+
# *Remarks*:
|
1160
|
+
# Each process has an associated error mode that indicates to the system how the application is going to
|
1161
|
+
# respond to serious errors. A child process inherits the error mode of its parent process.
|
1162
|
+
# To change the error mode for the process, use the SetErrorMode function.
|
1163
|
+
# ------
|
1164
|
+
# <b> Only works in Vista++! </b>
|
1165
|
+
# ------
|
1166
|
+
# :call-seq:
|
1167
|
+
# mode = get_error_mode()
|
1168
|
+
#
|
1169
|
+
try_function :GetErrorMode, [], :uint
|
1170
|
+
# fails silently unless platform is Vista++
|
1171
|
+
|
1172
|
+
##
|
1173
|
+
# SetErrorMode Function controls whether the system will handle the specified types of serious errors or whether
|
1174
|
+
# the process will handle them.
|
1175
|
+
#
|
1176
|
+
# [*Syntax*] UINT WINAPI SetErrorMode( UINT uMode );
|
1177
|
+
#
|
1178
|
+
# uMode:: The process error mode. This parameter can be one or more of the following values.
|
1179
|
+
# 0:: Use the system default, which is to display all error dialog boxes.
|
1180
|
+
# SEM_FAILCRITICALERRORS:: The system does not display the critical-error-handler message box. Instead,
|
1181
|
+
# the system sends the error to the calling process.
|
1182
|
+
# SEM_NOALIGNMENTFAULTEXCEPT:: The system automatically fixes memory alignment faults and makes them
|
1183
|
+
# invisible to the application. It does this for the calling process and any
|
1184
|
+
# descendant processes. This feature is only supported by certain processor
|
1185
|
+
# architectures. For more information, see the Remarks section.
|
1186
|
+
# After this value is set for a process, subsequent attempts to clear the
|
1187
|
+
# value are ignored.
|
1188
|
+
# SEM_NOGPFAULTERRORBOX:: The system does not display the general-protection-fault message box. This flag
|
1189
|
+
# should only be set by debugging applications that handle general protection (GP)
|
1190
|
+
# faults themselves with an exception handler.
|
1191
|
+
# SEM_NOOPENFILEERRORBOX:: The system does not display a message box when it fails to find a file. Instead,
|
1192
|
+
# the error is returned to the calling process.
|
1193
|
+
#
|
1194
|
+
# *Returns*:: The return value is the previous state of the error-mode bit flags.
|
1195
|
+
# ---
|
1196
|
+
# *Remarks*:
|
1197
|
+
# Each process has an associated error mode that indicates to the system how the application is going to
|
1198
|
+
# respond to serious errors. A child process inherits the error mode of its parent process. To retrieve
|
1199
|
+
# the process error mode, use the GetErrorMode function.
|
1200
|
+
# Because the error mode is set for the entire process, you must ensure that multi-threaded applications
|
1201
|
+
# do not set different error-mode flags. Doing so can lead to inconsistent error handling.
|
1202
|
+
# The system does not make alignment faults visible to an application on all processor architectures.
|
1203
|
+
# Therefore, specifying SEM_NOALIGNMENTFAULTEXCEPT is not an error on such architectures, but the system
|
1204
|
+
# is free to silently ignore the request. This means that code sequences such as the following are not
|
1205
|
+
# always valid on x86 computers:
|
1206
|
+
#
|
1207
|
+
# SetErrorMode(SEM_NOALIGNMENTFAULTEXCEPT);
|
1208
|
+
# fuOldErrorMode = SetErrorMode(0);
|
1209
|
+
# ASSERT(fuOldErrorMode == SEM_NOALIGNMENTFAULTEXCEPT);
|
1210
|
+
#
|
1211
|
+
# Itanium:: An application must explicitly call SetErrorMode with SEM_NOALIGNMENTFAULTEXCEPT to have the
|
1212
|
+
# system automatically fix alignment faults. The default setting is for the system to make alignment
|
1213
|
+
# faults visible to an application.
|
1214
|
+
# Visual Studio 2005:: When declaring a pointer to a structure that may not have aligned data, you can use
|
1215
|
+
# __unaligned keyword to indicate that the type must be read one byte at a time. For more
|
1216
|
+
# information, see Windows Data Alignment.
|
1217
|
+
#
|
1218
|
+
# :call-seq:
|
1219
|
+
# success = set_error_mode(mode)
|
1220
|
+
#
|
1221
|
+
function :SetErrorMode, [:UINT], :UINT
|
1222
|
+
|
1223
|
+
end
|
1224
1224
|
end
|