vrvirtualdesktop 0.0.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/CHANGES ADDED
@@ -0,0 +1,4 @@
1
+ -- 0.0.1 - First Release ------------------
2
+
3
+ Check out the README for a complete description of the how VRVirtualDesktop works.
4
+
data/LICENSE ADDED
@@ -0,0 +1 @@
1
+ This is released under the same terms as the Ruby license.
data/README ADDED
@@ -0,0 +1,37 @@
1
+ OVERVIEW
2
+
3
+ This application is owes its life to two applications written in C or C++:
4
+
5
+ 1. multiDesk - A desktop manager written in ? that inspired the user interface
6
+ for VRVirtualDesktop. It was written by John F. Liu
7
+ 2. VirtualDimension - An open source desktop manager written in C++. The implementation
8
+ of VRVirtualDesktop relies mostly on what I learned from this
9
+ application. It was written by Francois Ferrand.
10
+
11
+ BASIC USAGE
12
+
13
+ When this is run, it creates six icons in the Window's system tray. Each of these represents a
14
+ virtual desktop. If you click on them with the left mouse button, the "virtual desktop" associated
15
+ with that icon comes into view. By that I mean that windows shown on the current desktop are
16
+ hidden and windows on the new desktop are shown.
17
+
18
+ 1. Moving Windows from one virtual desktop to another
19
+
20
+ To move a window from one virtual desktop to another, bring that window to the front, and then
21
+ right click on the icon of the virtual desktop that you want to move it to.
22
+
23
+ 2. Naming a desktop
24
+
25
+ Right click on the VRVirtualDesktop icon and set the name option. Enter in the name for the
26
+ desktop. When you mouse over the icon for that desktop a tool tip will appear with that name.
27
+
28
+ 3. Quitting
29
+
30
+ Right click on the VRVirtualDesktop icon and select the exit option. When you quit, the names of
31
+ the desktops and which windows were on which desktops is saved.
32
+
33
+ FILES
34
+
35
+ c:\vtdesk.txt - The names of desktops and windows on each desktop are saved in here in YAML format
36
+
37
+
data/TODO ADDED
@@ -0,0 +1,3 @@
1
+ 1. Allow window to be on all desktops
2
+ 2. Launch applications to bring windows back up after a reboot. Preserve positions as well so desktop looks the same.
3
+
data/bin/vrdesk.rbw ADDED
@@ -0,0 +1,55 @@
1
+ require "rubygems"
2
+ require_gem "SimpleTrace", "< 0.1.0"
3
+ require "vr/vruby"
4
+ require "Win32/VirtualDesktop"
5
+ require "Win32/WindowManager"
6
+ require_gem "VRTools", "< 0.1.0"
7
+ require "VRVirtualDesktopForm"
8
+ require_gem "usage", "<= 0.1.0"
9
+
10
+ class VirtualDesktop < VRVirtualDesktopForm
11
+ # class methods
12
+ #
13
+ class << self
14
+ #
15
+ # run this form
16
+ #
17
+ def run_gui(restore)
18
+ vrForm = VRLocalScreen.newform(nil, nil, VirtualDesktop)
19
+ vrForm.exinit(restore).create.goto_tray
20
+ begin
21
+ VRLocalScreen.messageloop
22
+ ensure
23
+ vrForm.handle_exit
24
+ end
25
+ end
26
+ end
27
+
28
+ def icon_path(sub_paths, icon_filename)
29
+ $:.each do |path|
30
+ sub_paths.each do |sub_path|
31
+ fpath = "#{path}/#{sub_path}"
32
+ fname = "#{fpath}/#{icon_filename}"
33
+ if File.exist?(fname) then
34
+ return fpath
35
+ end
36
+ end
37
+ end
38
+ return "."
39
+ end
40
+
41
+ def exinit(restore)
42
+ super(restore, "Virtual Desktop", "desktops.ico", icon_path(["resources", "resources/VRVirtualDesktop"], "desktops.ico"))
43
+ end
44
+ end
45
+
46
+ usage = Usage.new("[-n] [-d]")
47
+
48
+ if usage.dash_d then
49
+ $TRACE.set_level 5
50
+ $TRACE.set_output_filename("C:/VDTrace.txt")
51
+ $TRACE.debug 5, "at start"
52
+ end
53
+
54
+ VirtualDesktop.run_gui(!usage.dash_n)
55
+
@@ -0,0 +1,267 @@
1
+ require "rubygems"
2
+ require_gem "SimpleTrace", "< 0.1.0"
3
+ require "vr/vruby"
4
+ require "vr/vrcontrol"
5
+ require "vr/vrcomctl"
6
+ require "vr/vrtimer"
7
+ require "vr/vrtray"
8
+ require "vr/vrhandler"
9
+ require "vr/vrdialog"
10
+ require "vr/winconst"
11
+ require_gem "VRTools", "< 0.1.0"
12
+ require "Win32/VirtualDesktop"
13
+ require "Win32/WindowManager"
14
+ #
15
+ # To do, add in list box control and send traces to it
16
+ #
17
+ class VRVirtualDesktopForm < VRForm
18
+ include VRTimerFeasible
19
+ include VRMenuUseable
20
+ include VRTrayiconFeasible
21
+ include VRClosingSensitive
22
+
23
+ OBJECT_DB_ICON_ID = 1
24
+ SCREEN_ICON_ID_BASE = 2
25
+
26
+ # class methods
27
+ #
28
+ class << self
29
+ #
30
+ # run this form
31
+ #
32
+ def run_gui(restore)
33
+ vrForm = VRLocalScreen.newform(nil, nil, VRVirtualDesktopForm)
34
+ vrForm.exinit(restore).create.goto_tray
35
+ begin
36
+ VRLocalScreen.messageloop
37
+ ensure
38
+ vrForm.handle_exit
39
+ end
40
+ end
41
+ end
42
+
43
+ #
44
+ # construct the form
45
+ #
46
+ def construct
47
+ self.caption = @caption
48
+
49
+ icon_filename = @icon_path + "/" + @icon_file
50
+ $TRACE.debug 5, "icon filename = '#{icon_filename}'"
51
+ @icon = VRLocalScreen.factory.iconfromfile(icon_filename)
52
+
53
+ @window_manager = Win32::WindowManager.new
54
+ @virtual_desktops = Win32::VirtualDesktops.new(self, @icon_path, SCREEN_ICON_ID_BASE, 6, @window_manager)
55
+ $TRACE.debug 5, "at start windows = " + @window_manager.get_all_windows.values.map{|w| w.to_s}.join(",")
56
+
57
+ # attempt to restore windows
58
+ if @restore then
59
+ begin
60
+ @virtual_desktops.restore
61
+ rescue Errno::ENOENT
62
+ # ignore this error
63
+ end
64
+ end
65
+
66
+ # add any windows that weren't added on restore (if restore happened
67
+ @window_manager.get_all_windows.each_value do |window|
68
+ $TRACE.debug 5, "checking window: #{window}"
69
+ #window.show
70
+ unless @virtual_desktops.contains_window(window)
71
+ $TRACE.debug 5, "adding window: #{window} to active desktop"
72
+ @virtual_desktops.active_desktop.add_window(window)
73
+ end
74
+ end
75
+ @virtual_desktops.save
76
+
77
+ # set up menus
78
+ fileMenu =
79
+ ["&File",
80
+ [
81
+ ["E&xit","file_exit"]
82
+ ]
83
+ ]
84
+ menus = [fileMenu]
85
+ setMenu newMenu.set(menus)
86
+
87
+ @tray_menu = newPopupMenu
88
+ @tray_menu.set(@tray_menu_source)
89
+
90
+ addTimer 500,"windowUpdate"
91
+
92
+ # used add handler for minimize
93
+ wm_syscommand = WMsg::WM_COMMAND+1
94
+ addHandler wm_syscommand,"syscommand",MSGTYPE::ARGWINT,nil
95
+ acceptEvents [wm_syscommand]
96
+ end
97
+
98
+ #
99
+ # initialize this form
100
+ #
101
+ def exinit(restore, caption, icon_file, icon_path, tray_menu_additions=[])
102
+ @exited = false
103
+ @restore = restore
104
+ @caption = caption
105
+ @icon_file = icon_file
106
+ @icon_path = icon_path
107
+
108
+ @tray_menu_source = [
109
+ ["Set Screen Name...", "set_screen_name"],
110
+ ["Exit", "exit"]
111
+ ]
112
+ @tray_menu_source.insert(0, tray_menu_additions) unless tray_menu_additions.empty?
113
+ self
114
+ end
115
+
116
+
117
+ SC_MINIMIZE=0xF020
118
+
119
+ #
120
+ # Handler for system commands
121
+ #
122
+ def self_syscommand(message_type)
123
+ $TRACE.debug 5, "message_type = #{message_type}"
124
+ if message_type == SC_MINIMIZE then
125
+ $TRACE.debug 5, "going to tray"
126
+ goto_tray
127
+ SKIP_DEFAULTHANDLER
128
+ end
129
+ end
130
+
131
+ def windowUpdate_timer
132
+ @virtual_desktops.periodic_timer
133
+ end
134
+
135
+ # ---------------------- Tray functions --------------------------
136
+
137
+ #
138
+ # this is called when?
139
+ #
140
+ def tray_clicked
141
+ goto_tray
142
+ end
143
+
144
+ #
145
+ # enable the tray icon
146
+ #
147
+ def goto_tray
148
+ #return unless @displayed
149
+ @virtual_desktops.create_trayicons
150
+ create_trayicon(@icon.hicon, @caption, OBJECT_DB_ICON_ID)
151
+ self.hide
152
+ @displayed = false
153
+ end
154
+
155
+ #
156
+ # show the window from the tray
157
+ #
158
+ def up_from_tray
159
+ return if @displayed
160
+ # delete_trayicon(1)
161
+ myexstyle = self.exwinstyle
162
+ myexstyle.ws_ex_toolwindow = false
163
+ myexstyle.ws_ex_appwindow = true
164
+ self.show
165
+ @displayed = true
166
+ end
167
+
168
+ #
169
+ # clean the icon out of the tray
170
+ #
171
+ def clean_tray
172
+ $TRACE.debug 5, "cleaning tray"
173
+ delete_trayicon(OBJECT_DB_ICON_ID)
174
+ @virtual_desktops.delete_trayicons
175
+ end
176
+
177
+ #
178
+ # this is called when left button is clicked on tray icon.
179
+ # we display the tray menu
180
+ #
181
+ def self_traylbuttondown(iconid)
182
+ case iconid
183
+ when OBJECT_DB_ICON_ID
184
+ showPopup @tray_menu
185
+ else
186
+ @virtual_desktops.change_desktop(iconid)
187
+ end
188
+ end
189
+
190
+ #
191
+ # this is called when right button is clicked on tray icon
192
+ #
193
+ def self_trayrbuttonup(iconid)
194
+ case iconid
195
+ when OBJECT_DB_ICON_ID
196
+ showPopup @tray_menu
197
+ else
198
+ @virtual_desktops.move_window(iconid)
199
+ end
200
+ end
201
+
202
+
203
+ # ------------- menu handlers ----------------------
204
+
205
+ # user clicked File | Exit
206
+ #
207
+ def file_exit_clicked
208
+ handle_close
209
+ end
210
+
211
+ # allow the user to set screen names
212
+ #
213
+ def set_screen_name_clicked
214
+ @virtual_desktops.set_screen_name
215
+ end
216
+
217
+ # user clicked tray menu show ObjectDatabase
218
+ #
219
+ def restore_clicked
220
+ up_from_tray
221
+ end
222
+
223
+ # user clicked tray menu Exit
224
+ #
225
+ def exit_clicked
226
+ handle_close
227
+ end
228
+
229
+ # ------------- closing routines -------------------
230
+
231
+ # ask user if they are sure they want to quit
232
+ #
233
+ def user_okays_close
234
+ ret = messageBox("Are you sure you want to quit?", "Exit?", VRMessageBoxConst::MB_YESNO)
235
+ ret == VRDialogComponent::IDYES
236
+ end
237
+
238
+ # common handler for exit menu selections
239
+ #
240
+ def handle_close
241
+ if user_okays_close then
242
+ handle_exit
243
+ self.close
244
+ end
245
+ end
246
+
247
+ # handle exit of program by all methods
248
+ #
249
+ def handle_exit
250
+ return if @exited
251
+
252
+ @exited = true
253
+ @virtual_desktops.handle_exit
254
+ clean_tray
255
+ end
256
+
257
+ # user clicked close box
258
+ #
259
+ def self_close
260
+ # handle user clicks close box
261
+ if user_okays_close then
262
+ clean_tray
263
+ else
264
+ SKIP_DEFAULTHANDLER
265
+ end
266
+ end
267
+ end
@@ -0,0 +1,62 @@
1
+ ##################################################################################################
2
+ #
3
+ # $Author: Steve $
4
+ # $Date: 2005/12/16 18:35:41 $
5
+ # $Version: 0.99 $
6
+ # $Change: $
7
+ #
8
+ ##################################################################################################
9
+
10
+ module Win32
11
+ #-------------------------------------------------------------------------------------------------
12
+ # This mixin allows any class to cache Win32API function calls.
13
+ # The format of the entries is as follow:
14
+ # include APIMapper
15
+ # Win32::APIMapper.Initialize('OpenKey' => { 'dll' => REGDLL, 'name' => 'RegOpenKeyExW',
16
+ # 'in' => ['L', 'P', 'L', 'L', 'P'], 'out' => 'L'})
17
+ # Later the class calls the function by doing:
18
+ # ret = WCall('OpenKey', key, strSubKey, 0, samDesired, pKey)
19
+ module APIMapper
20
+ require 'Win32API'
21
+
22
+ #-----------------------------------------------------------------------------------------
23
+ # constsFor: "Labels"
24
+ DLL = 0
25
+ NAME = 1
26
+ IN = 2
27
+ OUT = 3
28
+ HANDLE = 4
29
+
30
+ #-----------------------------------------------------------------------------------------
31
+ # classVariableNames
32
+ @@mFunctions = {} # This variable contains the cache of Win32 function handles
33
+
34
+ #-----------------------------------------------------------------------------------------
35
+ # class methodsFor: "class initialization"
36
+ def APIMapper.Initialize(p_map)
37
+ p_map.each do |p_key, p_data|
38
+ @@mFunctions[p_key] = p_data if !@@mFunctions.include?(p_key)
39
+ end
40
+ end
41
+
42
+ #----------------------------------------------------------------------------------------
43
+ # methodsFor: "Calling"
44
+ def WCall(p_fn, *p_args)
45
+ return APIMapper.WCall(p_fn, *p_args)
46
+ end
47
+
48
+ #----------------------------------------------------------------------------------------
49
+ # class methodsFor: "Calling"
50
+ def APIMapper.WCall(p_fn, *p_args)
51
+ fn = @@mFunctions[p_fn]
52
+ raise ArgumentError, "APIMapper(#{self.class}) does not contain function #{p_fn}", caller if fn.nil?
53
+ h = fn[HANDLE]
54
+ if h.nil?
55
+ fn[HANDLE] = h = Win32API.new(fn[DLL], fn[NAME], fn[IN], fn[OUT])
56
+ @@mFunctions[p_fn] = fn
57
+ end
58
+ return h.Call(*p_args)
59
+ end
60
+ end
61
+
62
+ end
@@ -0,0 +1,891 @@
1
+ ##################################################################################################
2
+ #
3
+ # $Author: Steve $
4
+ # $Date: 2005/12/16 18:35:42 $
5
+ # $Version: 0.99 $
6
+ # $Change: $
7
+ #
8
+ ##################################################################################################
9
+
10
+ #---------------------------------------------------------------------------------------------
11
+ # constsFor: "Facility Codes"
12
+ # (from WinError.h)
13
+ FACILITY_WINDOWS = 8
14
+ FACILITY_STORAGE = 3
15
+ FACILITY_SSPI = 9
16
+ FACILITY_SETUPAPI = 15
17
+ FACILITY_RPC = 1
18
+ FACILITY_WIN32 = 7
19
+ FACILITY_CONTROL = 10
20
+ FACILITY_NULL = 0
21
+ FACILITY_MSMQ = 14
22
+ FACILITY_MEDIASERVER = 13
23
+ FACILITY_INTERNET = 12
24
+ FACILITY_ITF = 4
25
+ FACILITY_DISPATCH = 2
26
+ FACILITY_CERT = 11
27
+
28
+ #---------------------------------------------------------------------------------------------
29
+ # constsFor: "System Error Numbers"
30
+ # (from WinError.h)
31
+ ERROR_SUCCESS = 0
32
+ ERROR_INVALID_FUNCTION = 1
33
+ ERROR_FILE_NOT_FOUND = 2
34
+ ERROR_PATH_NOT_FOUND = 3
35
+ ERROR_TOO_MANY_OPEN_FILES = 4
36
+ ERROR_ACCESS_DENIED = 5
37
+ ERROR_INVALID_HANDLE = 6
38
+ ERROR_ARENA_TRASHED = 7
39
+ ERROR_NOT_ENOUGH_MEMORY = 8
40
+ ERROR_INVALID_BLOCK = 9
41
+ ERROR_BAD_ENVIRONMENT = 10
42
+ ERROR_BAD_FORMAT = 11
43
+ ERROR_INVALID_ACCESS = 12
44
+ ERROR_INVALID_DATA = 13
45
+ ERROR_OUTOFMEMORY = 14
46
+ ERROR_INVALID_DRIVE = 15
47
+ ERROR_CURRENT_DIRECTORY = 16
48
+ ERROR_NOT_SAME_DEVICE = 17
49
+ ERROR_NO_MORE_FILES = 18
50
+ ERROR_WRITE_PROTECT = 19
51
+ ERROR_BAD_UNIT = 20
52
+ ERROR_NOT_READY = 21
53
+ ERROR_BAD_COMMAND = 22
54
+ ERROR_CRC = 23
55
+ ERROR_BAD_LENGTH = 24
56
+ ERROR_SEEK = 25
57
+ ERROR_NOT_DOS_DISK = 26
58
+ ERROR_SECTOR_NOT_FOUND = 27
59
+ ERROR_OUT_OF_PAPER = 28
60
+ ERROR_WRITE_FAULT = 29
61
+ ERROR_READ_FAULT = 30
62
+ ERROR_GEN_FAILURE = 31
63
+ ERROR_SHARING_VIOLATION = 32
64
+ ERROR_LOCK_VIOLATION = 33
65
+ ERROR_WRONG_DISK = 34
66
+ ERROR_SHARING_BUFFER_EXCEEDED = 36
67
+ ERROR_HANDLE_EOF = 38
68
+ ERROR_HANDLE_DISK_FULL = 39
69
+ ERROR_NOT_SUPPORTED = 50
70
+ ERROR_REM_NOT_LIST = 51
71
+ ERROR_DUP_NAME = 52
72
+ ERROR_BAD_NETPATH = 53
73
+ ERROR_NETWORK_BUSY = 54
74
+ ERROR_DEV_NOT_EXIST = 55
75
+ ERROR_TOO_MANY_CMDS = 56
76
+ ERROR_ADAP_HDW_ERR = 57
77
+ ERROR_BAD_NET_RESP = 58
78
+ ERROR_UNEXP_NET_ERR = 59
79
+ ERROR_BAD_REM_ADAP = 60
80
+ ERROR_PRINTQ_FULL = 61
81
+ ERROR_NO_SPOOL_SPACE = 62
82
+ ERROR_PRINT_CANCELLED = 63
83
+ ERROR_NETNAME_DELETED = 64
84
+ ERROR_NETWORK_ACCESS_DENIED = 65
85
+ ERROR_BAD_DEV_TYPE = 66
86
+ ERROR_BAD_NET_NAME = 67
87
+ ERROR_TOO_MANY_NAMES = 68
88
+ ERROR_TOO_MANY_SESS = 69
89
+ ERROR_SHARING_PAUSED = 70
90
+ ERROR_REQ_NOT_ACCEP = 71
91
+ ERROR_REDIR_PAUSED = 72
92
+ ERROR_FILE_EXISTS = 80
93
+ ERROR_CANNOT_MAKE = 82
94
+ ERROR_FAIL_I24 = 83
95
+ ERROR_OUT_OF_STRUCTURES = 84
96
+ ERROR_ALREADY_ASSIGNED = 85
97
+ ERROR_INVALID_PASSWORD = 86
98
+ ERROR_INVALID_PARAMETER = 87
99
+ ERROR_NET_WRITE_FAULT = 88
100
+ ERROR_NO_PROC_SLOTS = 89
101
+ ERROR_TOO_MANY_SEMAPHORES = 100
102
+ ERROR_EXCL_SEM_ALREADY_OWNED = 101
103
+ ERROR_SEM_IS_SET = 102
104
+ ERROR_TOO_MANY_SEM_REQUESTS = 103
105
+ ERROR_INVALID_AT_INTERRUPT_TIME = 104
106
+ ERROR_SEM_OWNER_DIED = 105
107
+ ERROR_SEM_USER_LIMIT = 106
108
+ ERROR_DISK_CHANGE = 107
109
+ ERROR_DRIVE_LOCKED = 108
110
+ ERROR_BROKEN_PIPE = 109
111
+ ERROR_OPEN_FAILED = 110
112
+ ERROR_BUFFER_OVERFLOW = 111
113
+ ERROR_DISK_FULL = 112
114
+ ERROR_NO_MORE_SEARCH_HANDLES = 113
115
+ ERROR_INVALID_TARGET_HANDLE = 114
116
+ ERROR_INVALID_CATEGORY = 117
117
+ ERROR_INVALID_VERIFY_SWITCH = 118
118
+ ERROR_BAD_DRIVER_LEVEL = 119
119
+ ERROR_CALL_NOT_IMPLEMENTED = 120
120
+ ERROR_SEM_TIMEOUT = 121
121
+ ERROR_INSUFFICIENT_BUFFER = 122
122
+ ERROR_INVALID_NAME = 123
123
+ ERROR_INVALID_LEVEL = 124
124
+ ERROR_NO_VOLUME_LABEL = 125
125
+ ERROR_MOD_NOT_FOUND = 126
126
+ ERROR_PROC_NOT_FOUND = 127
127
+ ERROR_WAIT_NO_CHILDREN = 128
128
+ ERROR_CHILD_NOT_COMPLETE = 129
129
+ ERROR_DIRECT_ACCESS_HANDLE = 130
130
+ ERROR_NEGATIVE_SEEK = 131
131
+ ERROR_SEEK_ON_DEVICE = 132
132
+ ERROR_IS_JOIN_TARGET = 133
133
+ ERROR_IS_JOINED = 134
134
+ ERROR_IS_SUBSTED = 135
135
+ ERROR_NOT_JOINED = 136
136
+ ERROR_NOT_SUBSTED = 137
137
+ ERROR_JOIN_TO_JOIN = 138
138
+ ERROR_SUBST_TO_SUBST = 139
139
+ ERROR_JOIN_TO_SUBST = 140
140
+ ERROR_SUBST_TO_JOIN = 141
141
+ ERROR_BUSY_DRIVE = 142
142
+ ERROR_SAME_DRIVE = 143
143
+ ERROR_DIR_NOT_ROOT = 144
144
+ ERROR_DIR_NOT_EMPTY = 145
145
+ ERROR_IS_SUBST_PATH = 146
146
+ ERROR_IS_JOIN_PATH = 147
147
+ ERROR_PATH_BUSY = 148
148
+ ERROR_IS_SUBST_TARGET = 149
149
+ ERROR_SYSTEM_TRACE = 150
150
+ ERROR_INVALID_EVENT_COUNT = 151
151
+ ERROR_TOO_MANY_MUXWAITERS = 152
152
+ ERROR_INVALID_LIST_FORMAT = 153
153
+ ERROR_LABEL_TOO_LONG = 154
154
+ ERROR_TOO_MANY_TCBS = 155
155
+ ERROR_SIGNAL_REFUSED = 156
156
+ ERROR_DISCARDED = 157
157
+ ERROR_NOT_LOCKED = 158
158
+ ERROR_BAD_THREADID_ADDR = 159
159
+ ERROR_BAD_ARGUMENTS = 160
160
+ ERROR_BAD_PATHNAME = 161
161
+ ERROR_SIGNAL_PENDING = 162
162
+ ERROR_MAX_THRDS_REACHED = 164
163
+ ERROR_LOCK_FAILED = 167
164
+ ERROR_BUSY = 170
165
+ ERROR_CANCEL_VIOLATION = 173
166
+ ERROR_ATOMIC_LOCKS_NOT_SUPPORTED = 174
167
+ ERROR_INVALID_SEGMENT_NUMBER = 180
168
+ ERROR_INVALID_ORDINAL = 182
169
+ ERROR_ALREADY_EXISTS = 183
170
+ ERROR_INVALID_FLAG_NUMBER = 186
171
+ ERROR_SEM_NOT_FOUND = 187
172
+ ERROR_INVALID_STARTING_CODESEG = 188
173
+ ERROR_INVALID_STACKSEG = 189
174
+ ERROR_INVALID_MODULETYPE = 190
175
+ ERROR_INVALID_EXE_SIGNATURE = 191
176
+ ERROR_EXE_MARKED_INVALID = 192
177
+ ERROR_BAD_EXE_FORMAT = 193
178
+ ERROR_ITERATED_DATA_EXCEEDS_64k = 194
179
+ ERROR_INVALID_MINALLOCSIZE = 195
180
+ ERROR_DYNLINK_FROM_INVALID_RING = 196
181
+ ERROR_IOPL_NOT_ENABLED = 197
182
+ ERROR_INVALID_SEGDPL = 198
183
+ ERROR_AUTODATASEG_EXCEEDS_64k = 199
184
+ ERROR_RING2SEG_MUST_BE_MOVABLE = 200
185
+ ERROR_RELOC_CHAIN_XEEDS_SEGLIM = 201
186
+ ERROR_INFLOOP_IN_RELOC_CHAIN = 202
187
+ ERROR_ENVVAR_NOT_FOUND = 203
188
+ ERROR_NO_SIGNAL_SENT = 205
189
+ ERROR_FILENAME_EXCED_RANGE = 206
190
+ ERROR_RING2_STACK_IN_USE = 207
191
+ ERROR_META_EXPANSION_TOO_LONG = 208
192
+ ERROR_INVALID_SIGNAL_NUMBER = 209
193
+ ERROR_THREAD_1_INACTIVE = 210
194
+ ERROR_LOCKED = 212
195
+ ERROR_TOO_MANY_MODULES = 214
196
+ ERROR_NESTING_NOT_ALLOWED = 215
197
+ ERROR_EXE_MACHINE_TYPE_MISMATCH = 216
198
+ ERROR_BAD_PIPE = 230
199
+ ERROR_PIPE_BUSY = 231
200
+ ERROR_NO_DATA = 232
201
+ ERROR_PIPE_NOT_CONNECTED = 233
202
+ ERROR_MORE_DATA = 234
203
+ ERROR_VC_DISCONNECTED = 240
204
+ ERROR_INVALID_EA_NAME = 254
205
+ ERROR_EA_LIST_INCONSISTENT = 255
206
+ ERROR_NO_MORE_ITEMS = 259
207
+ ERROR_CANNOT_COPY = 266
208
+ ERROR_DIRECTORY = 267
209
+ ERROR_EAS_DIDNT_FIT = 275
210
+ ERROR_EA_FILE_CORRUPT = 276
211
+ ERROR_EA_TABLE_FULL = 277
212
+ ERROR_INVALID_EA_HANDLE = 278
213
+ ERROR_EAS_NOT_SUPPORTED = 282
214
+ ERROR_NOT_OWNER = 288
215
+ ERROR_TOO_MANY_POSTS = 298
216
+ ERROR_PARTIAL_COPY = 299
217
+ ERROR_OPLOCK_NOT_GRANTED = 300
218
+ ERROR_INVALID_OPLOCK_PROTOCOL = 301
219
+ ERROR_MR_MID_NOT_FOUND = 317
220
+ ERROR_INVALID_ADDRESS = 487
221
+ ERROR_ARITHMETIC_OVERFLOW = 534
222
+ ERROR_PIPE_CONNECTED = 535
223
+ ERROR_PIPE_LISTENING = 536
224
+ ERROR_EA_ACCESS_DENIED = 994
225
+ ERROR_OPERATION_ABORTED = 995
226
+ ERROR_IO_INCOMPLETE = 996
227
+ ERROR_IO_PENDING = 997
228
+ ERROR_NOACCESS = 998
229
+ ERROR_SWAPERROR = 999
230
+ ERROR_STACK_OVERFLOW = 1001
231
+ ERROR_INVALID_MESSAGE = 1002
232
+ ERROR_CAN_NOT_COMPLETE = 1003
233
+ ERROR_INVALID_FLAGS = 1004
234
+ ERROR_UNRECOGNIZED_VOLUME = 1005
235
+ ERROR_FILE_INVALID = 1006
236
+ ERROR_FULLSCREEN_MODE = 1007
237
+ ERROR_NO_TOKEN = 1008
238
+ ERROR_BADDB = 1009
239
+ ERROR_BADKEY = 1010
240
+ ERROR_CANTOPEN = 1011
241
+ ERROR_CANTREAD = 1012
242
+ ERROR_CANTWRITE = 1013
243
+ ERROR_REGISTRY_RECOVERED = 1014
244
+ ERROR_REGISTRY_CORRUPT = 1015
245
+ ERROR_REGISTRY_IO_FAILED = 1016
246
+ ERROR_NOT_REGISTRY_FILE = 1017
247
+ ERROR_KEY_DELETED = 1018
248
+ ERROR_NO_LOG_SPACE = 1019
249
+ ERROR_KEY_HAS_CHILDREN = 1020
250
+ ERROR_CHILD_MUST_BE_VOLATILE = 1021
251
+ ERROR_NOTIFY_ENUM_DIR = 1022
252
+ ERROR_DEPENDENT_SERVICES_RUNNING = 1051
253
+ ERROR_INVALID_SERVICE_CONTROL = 1052
254
+ ERROR_SERVICE_REQUEST_TIMEOUT = 1053
255
+ ERROR_SERVICE_NO_THREAD = 1054
256
+ ERROR_SERVICE_DATABASE_LOCKED = 1055
257
+ ERROR_SERVICE_ALREADY_RUNNING = 1056
258
+ ERROR_INVALID_SERVICE_ACCOUNT = 1057
259
+ ERROR_SERVICE_DISABLED = 1058
260
+ ERROR_CIRCULAR_DEPENDENCY = 1059
261
+ ERROR_SERVICE_DOES_NOT_EXIST = 1060
262
+ ERROR_SERVICE_CANNOT_ACCEPT_CTRL = 1061
263
+ ERROR_SERVICE_NOT_ACTIVE = 1062
264
+ ERROR_FAILED_SERVICE_CONTROLLER_CONNECT = 1063
265
+ ERROR_EXCEPTION_IN_SERVICE = 1064
266
+ ERROR_DATABASE_DOES_NOT_EXIST = 1065
267
+ ERROR_SERVICE_SPECIFIC_ERROR = 1066
268
+ ERROR_PROCESS_ABORTED = 1067
269
+ ERROR_SERVICE_DEPENDENCY_FAIL = 1068
270
+ ERROR_SERVICE_LOGON_FAILED = 1069
271
+ ERROR_SERVICE_START_HANG = 1070
272
+ ERROR_INVALID_SERVICE_LOCK = 1071
273
+ ERROR_SERVICE_MARKED_FOR_DELETE = 1072
274
+ ERROR_SERVICE_EXISTS = 1073
275
+ ERROR_ALREADY_RUNNING_LKG = 1074
276
+ ERROR_SERVICE_DEPENDENCY_DELETED = 1075
277
+ ERROR_BOOT_ALREADY_ACCEPTED = 1076
278
+ ERROR_SERVICE_NEVER_STARTED = 1077
279
+ ERROR_DUPLICATE_SERVICE_NAME = 1078
280
+ ERROR_DIFFERENT_SERVICE_ACCOUNT = 1079
281
+ ERROR_CANNOT_DETECT_DRIVER_FAILURE = 1080
282
+ ERROR_CANNOT_DETECT_PROCESS_ABORT = 1081
283
+ ERROR_NO_RECOVERY_PROGRAM = 1082
284
+ ERROR_END_OF_MEDIA = 1100
285
+ ERROR_FILEMARK_DETECTED = 1101
286
+ ERROR_BEGINNING_OF_MEDIA = 1102
287
+ ERROR_SETMARK_DETECTED = 1103
288
+ ERROR_NO_DATA_DETECTED = 1104
289
+ ERROR_PARTITION_FAILURE = 1105
290
+ ERROR_INVALID_BLOCK_LENGTH = 1106
291
+ ERROR_DEVICE_NOT_PARTITIONED = 1107
292
+ ERROR_UNABLE_TO_LOCK_MEDIA = 1108
293
+ ERROR_UNABLE_TO_UNLOAD_MEDIA = 1109
294
+ ERROR_MEDIA_CHANGED = 1110
295
+ ERROR_BUS_RESET = 1111
296
+ ERROR_NO_MEDIA_IN_DRIVE = 1112
297
+ ERROR_NO_UNICODE_TRANSLATION = 1113
298
+ ERROR_DLL_INIT_FAILED = 1114
299
+ ERROR_SHUTDOWN_IN_PROGRESS = 1115
300
+ ERROR_NO_SHUTDOWN_IN_PROGRESS = 1116
301
+ ERROR_IO_DEVICE = 1117
302
+ ERROR_SERIAL_NO_DEVICE = 1118
303
+ ERROR_IRQ_BUSY = 1119
304
+ ERROR_MORE_WRITES = 1120
305
+ ERROR_COUNTER_TIMEOUT = 1121
306
+ ERROR_FLOPPY_ID_MARK_NOT_FOUND = 1122
307
+ ERROR_FLOPPY_WRONG_CYLINDER = 1123
308
+ ERROR_FLOPPY_UNKNOWN_ERROR = 1124
309
+ ERROR_FLOPPY_BAD_REGISTERS = 1125
310
+ ERROR_DISK_RECALIBRATE_FAILED = 1126
311
+ ERROR_DISK_OPERATION_FAILED = 1127
312
+ ERROR_DISK_RESET_FAILED = 1128
313
+ ERROR_EOM_OVERFLOW = 1129
314
+ ERROR_NOT_ENOUGH_SERVER_MEMORY = 1130
315
+ ERROR_POSSIBLE_DEADLOCK = 1131
316
+ ERROR_MAPPED_ALIGNMENT = 1132
317
+ ERROR_SET_POWER_STATE_VETOED = 1140
318
+ ERROR_SET_POWER_STATE_FAILED = 1141
319
+ ERROR_TOO_MANY_LINKS = 1142
320
+ ERROR_OLD_WIN_VERSION = 1150
321
+ ERROR_APP_WRONG_OS = 1151
322
+ ERROR_SINGLE_INSTANCE_APP = 1152
323
+ ERROR_RMODE_APP = 1153
324
+ ERROR_INVALID_DLL = 1154
325
+ ERROR_NO_ASSOCIATION = 1155
326
+ ERROR_DDE_FAIL = 1156
327
+ ERROR_DLL_NOT_FOUND = 1157
328
+ ERROR_NO_MORE_USER_HANDLES = 1158
329
+ ERROR_MESSAGE_SYNC_ONLY = 1159
330
+ ERROR_SOURCE_ELEMENT_EMPTY = 1160
331
+ ERROR_DESTINATION_ELEMENT_FULL = 1161
332
+ ERROR_ILLEGAL_ELEMENT_ADDRESS = 1162
333
+ ERROR_MAGAZINE_NOT_PRESENT = 1163
334
+ ERROR_DEVICE_REINITIALIZATION_NEEDED = 1164
335
+ ERROR_DEVICE_REQUIRES_CLEANING = 1165
336
+ ERROR_DEVICE_DOOR_OPEN = 1166
337
+ ERROR_DEVICE_NOT_CONNECTED = 1167
338
+ ERROR_NOT_FOUND = 1168
339
+ ERROR_NO_MATCH = 1169
340
+ ERROR_SET_NOT_FOUND = 1170
341
+ ERROR_POINT_NOT_FOUND = 1171
342
+ ERROR_NO_TRACKING_SERVICE = 1172
343
+ ERROR_NO_VOLUME_ID = 1173
344
+ ERROR_CONNECTED_OTHER_PASSWORD = 2108
345
+ ERROR_BAD_USERNAME = 2202
346
+ ERROR_NOT_CONNECTED = 2250
347
+ ERROR_OPEN_FILES = 2401
348
+ ERROR_ACTIVE_CONNECTIONS = 2402
349
+ ERROR_DEVICE_IN_USE = 2404
350
+ ERROR_BAD_DEVICE = 1200
351
+ ERROR_CONNECTION_UNAVAIL = 1201
352
+ ERROR_DEVICE_ALREADY_REMEMBERED = 1202
353
+ ERROR_NO_NET_OR_BAD_PATH = 1203
354
+ ERROR_BAD_PROVIDER = 1204
355
+ ERROR_CANNOT_OPEN_PROFILE = 1205
356
+ ERROR_BAD_PROFILE = 1206
357
+ ERROR_NOT_CONTAINER = 1207
358
+ ERROR_EXTENDED_ERROR = 1208
359
+ ERROR_INVALID_GROUPNAME = 1209
360
+ ERROR_INVALID_COMPUTERNAME = 1210
361
+ ERROR_INVALID_EVENTNAME = 1211
362
+ ERROR_INVALID_DOMAINNAME = 1212
363
+ ERROR_INVALID_SERVICENAME = 1213
364
+ ERROR_INVALID_NETNAME = 1214
365
+ ERROR_INVALID_SHARENAME = 1215
366
+ ERROR_INVALID_PASSWORDNAME = 1216
367
+ ERROR_INVALID_MESSAGENAME = 1217
368
+ ERROR_INVALID_MESSAGEDEST = 1218
369
+ ERROR_SESSION_CREDENTIAL_CONFLICT = 1219
370
+ ERROR_REMOTE_SESSION_LIMIT_EXCEEDED = 1220
371
+ ERROR_DUP_DOMAINNAME = 1221
372
+ ERROR_NO_NETWORK = 1222
373
+ ERROR_CANCELLED = 1223
374
+ ERROR_USER_MAPPED_FILE = 1224
375
+ ERROR_CONNECTION_REFUSED = 1225
376
+ ERROR_GRACEFUL_DISCONNECT = 1226
377
+ ERROR_ADDRESS_ALREADY_ASSOCIATED = 1227
378
+ ERROR_ADDRESS_NOT_ASSOCIATED = 1228
379
+ ERROR_CONNECTION_INVALID = 1229
380
+ ERROR_CONNECTION_ACTIVE = 1230
381
+ ERROR_NETWORK_UNREACHABLE = 1231
382
+ ERROR_HOST_UNREACHABLE = 1232
383
+ ERROR_PROTOCOL_UNREACHABLE = 1233
384
+ ERROR_PORT_UNREACHABLE = 1234
385
+ ERROR_REQUEST_ABORTED = 1235
386
+ ERROR_CONNECTION_ABORTED = 1236
387
+ ERROR_RETRY = 1237
388
+ ERROR_CONNECTION_COUNT_LIMIT = 1238
389
+ ERROR_LOGIN_TIME_RESTRICTION = 1239
390
+ ERROR_LOGIN_WKSTA_RESTRICTION = 1240
391
+ ERROR_INCORRECT_ADDRESS = 1241
392
+ ERROR_ALREADY_REGISTERED = 1242
393
+ ERROR_SERVICE_NOT_FOUND = 1243
394
+ ERROR_NOT_AUTHENTICATED = 1244
395
+ ERROR_NOT_LOGGED_ON = 1245
396
+ ERROR_CONTINUE = 1246
397
+ ERROR_ALREADY_INITIALIZED = 1247
398
+ ERROR_NO_MORE_DEVICES = 1248
399
+ ERROR_NO_SUCH_SITE = 1249
400
+ ERROR_DOMAIN_CONTROLLER_EXISTS = 1250
401
+ ERROR_DS_NOT_INSTALLED = 1251
402
+ ERROR_NOT_ALL_ASSIGNED = 1300
403
+ ERROR_SOME_NOT_MAPPED = 1301
404
+ ERROR_NO_QUOTAS_FOR_ACCOUNT = 1302
405
+ ERROR_LOCAL_USER_SESSION_KEY = 1303
406
+ ERROR_NULL_LM_PASSWORD = 1304
407
+ ERROR_UNKNOWN_REVISION = 1305
408
+ ERROR_REVISION_MISMATCH = 1306
409
+ ERROR_INVALID_OWNER = 1307
410
+ ERROR_INVALID_PRIMARY_GROUP = 1308
411
+ ERROR_NO_IMPERSONATION_TOKEN = 1309
412
+ ERROR_CANT_DISABLE_MANDATORY = 1310
413
+ ERROR_NO_LOGON_SERVERS = 1311
414
+ ERROR_NO_SUCH_LOGON_SESSION = 1312
415
+ ERROR_NO_SUCH_PRIVILEGE = 1313
416
+ ERROR_PRIVILEGE_NOT_HELD = 1314
417
+ ERROR_INVALID_ACCOUNT_NAME = 1315
418
+ ERROR_USER_EXISTS = 1316
419
+ ERROR_NO_SUCH_USER = 1317
420
+ ERROR_GROUP_EXISTS = 1318
421
+ ERROR_NO_SUCH_GROUP = 1319
422
+ ERROR_MEMBER_IN_GROUP = 1320
423
+ ERROR_MEMBER_NOT_IN_GROUP = 1321
424
+ ERROR_LAST_ADMIN = 1322
425
+ ERROR_WRONG_PASSWORD = 1323
426
+ ERROR_ILL_FORMED_PASSWORD = 1324
427
+ ERROR_PASSWORD_RESTRICTION = 1325
428
+ ERROR_LOGON_FAILURE = 1326
429
+ ERROR_ACCOUNT_RESTRICTION = 1327
430
+ ERROR_INVALID_LOGON_HOURS = 1328
431
+ ERROR_INVALID_WORKSTATION = 1329
432
+ ERROR_PASSWORD_EXPIRED = 1330
433
+ ERROR_ACCOUNT_DISABLED = 1331
434
+ ERROR_NONE_MAPPED = 1332
435
+ ERROR_TOO_MANY_LUIDS_REQUESTED = 1333
436
+ ERROR_LUIDS_EXHAUSTED = 1334
437
+ ERROR_INVALID_SUB_AUTHORITY = 1335
438
+ ERROR_INVALID_ACL = 1336
439
+ ERROR_INVALID_SID = 1337
440
+ ERROR_INVALID_SECURITY_DESCR = 1338
441
+ ERROR_BAD_INHERITANCE_ACL = 1340
442
+ ERROR_SERVER_DISABLED = 1341
443
+ ERROR_SERVER_NOT_DISABLED = 1342
444
+ ERROR_INVALID_ID_AUTHORITY = 1343
445
+ ERROR_ALLOTTED_SPACE_EXCEEDED = 1344
446
+ ERROR_INVALID_GROUP_ATTRIBUTES = 1345
447
+ ERROR_BAD_IMPERSONATION_LEVEL = 1346
448
+ ERROR_CANT_OPEN_ANONYMOUS = 1347
449
+ ERROR_BAD_VALIDATION_CLASS = 1348
450
+ ERROR_BAD_TOKEN_TYPE = 1349
451
+ ERROR_NO_SECURITY_ON_OBJECT = 1350
452
+ ERROR_CANT_ACCESS_DOMAIN_INFO = 1351
453
+ ERROR_INVALID_SERVER_STATE = 1352
454
+ ERROR_INVALID_DOMAIN_STATE = 1353
455
+ ERROR_INVALID_DOMAIN_ROLE = 1354
456
+ ERROR_NO_SUCH_DOMAIN = 1355
457
+ ERROR_DOMAIN_EXISTS = 1356
458
+ ERROR_DOMAIN_LIMIT_EXCEEDED = 1357
459
+ ERROR_INTERNAL_DB_CORRUPTION = 1358
460
+ ERROR_INTERNAL_ERROR = 1359
461
+ ERROR_GENERIC_NOT_MAPPED = 1360
462
+ ERROR_BAD_DESCRIPTOR_FORMAT = 1361
463
+ ERROR_NOT_LOGON_PROCESS = 1362
464
+ ERROR_LOGON_SESSION_EXISTS = 1363
465
+ ERROR_NO_SUCH_PACKAGE = 1364
466
+ ERROR_BAD_LOGON_SESSION_STATE = 1365
467
+ ERROR_LOGON_SESSION_COLLISION = 1366
468
+ ERROR_INVALID_LOGON_TYPE = 1367
469
+ ERROR_CANNOT_IMPERSONATE = 1368
470
+ ERROR_RXACT_INVALID_STATE = 1369
471
+ ERROR_RXACT_COMMIT_FAILURE = 1370
472
+ ERROR_SPECIAL_ACCOUNT = 1371
473
+ ERROR_SPECIAL_GROUP = 1372
474
+ ERROR_SPECIAL_USER = 1373
475
+ ERROR_MEMBERS_PRIMARY_GROUP = 1374
476
+ ERROR_TOKEN_ALREADY_IN_USE = 1375
477
+ ERROR_NO_SUCH_ALIAS = 1376
478
+ ERROR_MEMBER_NOT_IN_ALIAS = 1377
479
+ ERROR_MEMBER_IN_ALIAS = 1378
480
+ ERROR_ALIAS_EXISTS = 1379
481
+ ERROR_LOGON_NOT_GRANTED = 1380
482
+ ERROR_TOO_MANY_SECRETS = 1381
483
+ ERROR_SECRET_TOO_LONG = 1382
484
+ ERROR_INTERNAL_DB_ERROR = 1383
485
+ ERROR_TOO_MANY_CONTEXT_IDS = 1384
486
+ ERROR_LOGON_TYPE_NOT_GRANTED = 1385
487
+ ERROR_NT_CROSS_ENCRYPTION_REQUIRED = 1386
488
+ ERROR_NO_SUCH_MEMBER = 1387
489
+ ERROR_INVALID_MEMBER = 1388
490
+ ERROR_TOO_MANY_SIDS = 1389
491
+ ERROR_LM_CROSS_ENCRYPTION_REQUIRED = 1390
492
+ ERROR_NO_INHERITANCE = 1391
493
+ ERROR_FILE_CORRUPT = 1392
494
+ ERROR_DISK_CORRUPT = 1393
495
+ ERROR_NO_USER_SESSION_KEY = 1394
496
+ ERROR_LICENSE_QUOTA_EXCEEDED = 1395
497
+ ERROR_INVALID_WINDOW_HANDLE = 1400
498
+ ERROR_INVALID_MENU_HANDLE = 1401
499
+ ERROR_INVALID_CURSOR_HANDLE = 1402
500
+ ERROR_INVALID_ACCEL_HANDLE = 1403
501
+ ERROR_INVALID_HOOK_HANDLE = 1404
502
+ ERROR_INVALID_DWP_HANDLE = 1405
503
+ ERROR_TLW_WITH_WSCHILD = 1406
504
+ ERROR_CANNOT_FIND_WND_CLASS = 1407
505
+ ERROR_WINDOW_OF_OTHER_THREAD = 1408
506
+ ERROR_HOTKEY_ALREADY_REGISTERED = 1409
507
+ ERROR_CLASS_ALREADY_EXISTS = 1410
508
+ ERROR_CLASS_DOES_NOT_EXIST = 1411
509
+ ERROR_CLASS_HAS_WINDOWS = 1412
510
+ ERROR_INVALID_INDEX = 1413
511
+ ERROR_INVALID_ICON_HANDLE = 1414
512
+ ERROR_PRIVATE_DIALOG_INDEX = 1415
513
+ ERROR_LISTBOX_ID_NOT_FOUND = 1416
514
+ ERROR_NO_WILDCARD_CHARACTERS = 1417
515
+ ERROR_CLIPBOARD_NOT_OPEN = 1418
516
+ ERROR_HOTKEY_NOT_REGISTERED = 1419
517
+ ERROR_WINDOW_NOT_DIALOG = 1420
518
+ ERROR_CONTROL_ID_NOT_FOUND = 1421
519
+ ERROR_INVALID_COMBOBOX_MESSAGE = 1422
520
+ ERROR_WINDOW_NOT_COMBOBOX = 1423
521
+ ERROR_INVALID_EDIT_HEIGHT = 1424
522
+ ERROR_DC_NOT_FOUND = 1425
523
+ ERROR_INVALID_HOOK_FILTER = 1426
524
+ ERROR_INVALID_FILTER_PROC = 1427
525
+ ERROR_HOOK_NEEDS_HMOD = 1428
526
+ ERROR_GLOBAL_ONLY_HOOK = 1429
527
+ ERROR_JOURNAL_HOOK_SET = 1430
528
+ ERROR_HOOK_NOT_INSTALLED = 1431
529
+ ERROR_INVALID_LB_MESSAGE = 1432
530
+ ERROR_SETCOUNT_ON_BAD_LB = 1433
531
+ ERROR_LB_WITHOUT_TABSTOPS = 1434
532
+ ERROR_DESTROY_OBJECT_OF_OTHER_THREAD = 1435
533
+ ERROR_CHILD_WINDOW_MENU = 1436
534
+ ERROR_NO_SYSTEM_MENU = 1437
535
+ ERROR_INVALID_MSGBOX_STYLE = 1438
536
+ ERROR_INVALID_SPI_VALUE = 1439
537
+ ERROR_SCREEN_ALREADY_LOCKED = 1440
538
+ ERROR_HWNDS_HAVE_DIFF_PARENT = 1441
539
+ ERROR_NOT_CHILD_WINDOW = 1442
540
+ ERROR_INVALID_GW_COMMAND = 1443
541
+ ERROR_INVALID_THREAD_ID = 1444
542
+ ERROR_NON_MDICHILD_WINDOW = 1445
543
+ ERROR_POPUP_ALREADY_ACTIVE = 1446
544
+ ERROR_NO_SCROLLBARS = 1447
545
+ ERROR_INVALID_SCROLLBAR_RANGE = 1448
546
+ ERROR_INVALID_SHOWWIN_COMMAND = 1449
547
+ ERROR_NO_SYSTEM_RESOURCES = 1450
548
+ ERROR_NONPAGED_SYSTEM_RESOURCES = 1451
549
+ ERROR_PAGED_SYSTEM_RESOURCES = 1452
550
+ ERROR_WORKING_SET_QUOTA = 1453
551
+ ERROR_PAGEFILE_QUOTA = 1454
552
+ ERROR_COMMITMENT_LIMIT = 1455
553
+ ERROR_MENU_ITEM_NOT_FOUND = 1456
554
+ ERROR_INVALID_KEYBOARD_HANDLE = 1457
555
+ ERROR_HOOK_TYPE_NOT_ALLOWED = 1458
556
+ ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION = 1459
557
+ ERROR_TIMEOUT = 1460
558
+ ERROR_INVALID_MONITOR_HANDLE = 1461
559
+ ERROR_EVENTLOG_FILE_CORRUPT = 1500
560
+ ERROR_EVENTLOG_CANT_START = 1501
561
+ ERROR_LOG_FILE_FULL = 1502
562
+ ERROR_EVENTLOG_FILE_CHANGED = 1503
563
+ ERROR_INSTALL_SERVICE = 1601
564
+ ERROR_INSTALL_USEREXIT = 1602
565
+ ERROR_INSTALL_FAILURE = 1603
566
+ ERROR_INSTALL_SUSPEND = 1604
567
+ ERROR_UNKNOWN_PRODUCT = 1605
568
+ ERROR_UNKNOWN_FEATURE = 1606
569
+ ERROR_UNKNOWN_COMPONENT = 1607
570
+ ERROR_UNKNOWN_PROPERTY = 1608
571
+ ERROR_INVALID_HANDLE_STATE = 1609
572
+ ERROR_BAD_CONFIGURATION = 1610
573
+ ERROR_INDEX_ABSENT = 1611
574
+ ERROR_INSTALL_SOURCE_ABSENT = 1612
575
+ ERROR_BAD_DATABASE_VERSION = 1613
576
+ ERROR_PRODUCT_UNINSTALLED = 1614
577
+ ERROR_BAD_QUERY_SYNTAX = 1615
578
+ ERROR_INVALID_FIELD = 1616
579
+ RPC_S_INVALID_STRING_BINDING = 1700
580
+ RPC_S_WRONG_KIND_OF_BINDING = 1701
581
+ RPC_S_INVALID_BINDING = 1702
582
+ RPC_S_PROTSEQ_NOT_SUPPORTED = 1703
583
+ RPC_S_INVALID_RPC_PROTSEQ = 1704
584
+ RPC_S_INVALID_STRING_UUID = 1705
585
+ RPC_S_INVALID_ENDPOINT_FORMAT = 1706
586
+ RPC_S_INVALID_NET_ADDR = 1707
587
+ RPC_S_NO_ENDPOINT_FOUND = 1708
588
+ RPC_S_INVALID_TIMEOUT = 1709
589
+ RPC_S_OBJECT_NOT_FOUND = 1710
590
+ RPC_S_ALREADY_REGISTERED = 1711
591
+ RPC_S_TYPE_ALREADY_REGISTERED = 1712
592
+ RPC_S_ALREADY_LISTENING = 1713
593
+ RPC_S_NO_PROTSEQS_REGISTERED = 1714
594
+ RPC_S_NOT_LISTENING = 1715
595
+ RPC_S_UNKNOWN_MGR_TYPE = 1716
596
+ RPC_S_UNKNOWN_IF = 1717
597
+ RPC_S_NO_BINDINGS = 1718
598
+ RPC_S_NO_PROTSEQS = 1719
599
+ RPC_S_CANT_CREATE_ENDPOINT = 1720
600
+ RPC_S_OUT_OF_RESOURCES = 1721
601
+ RPC_S_SERVER_UNAVAILABLE = 1722
602
+ RPC_S_SERVER_TOO_BUSY = 1723
603
+ RPC_S_INVALID_NETWORK_OPTIONS = 1724
604
+ RPC_S_NO_CALL_ACTIVE = 1725
605
+ RPC_S_CALL_FAILED = 1726
606
+ RPC_S_CALL_FAILED_DNE = 1727
607
+ RPC_S_PROTOCOL_ERROR = 1728
608
+ RPC_S_UNSUPPORTED_TRANS_SYN = 1730
609
+ RPC_S_UNSUPPORTED_TYPE = 1732
610
+ RPC_S_INVALID_TAG = 1733
611
+ RPC_S_INVALID_BOUND = 1734
612
+ RPC_S_NO_ENTRY_NAME = 1735
613
+ RPC_S_INVALID_NAME_SYNTAX = 1736
614
+ RPC_S_UNSUPPORTED_NAME_SYNTAX = 1737
615
+ RPC_S_UUID_NO_ADDRESS = 1739
616
+ RPC_S_DUPLICATE_ENDPOINT = 1740
617
+ RPC_S_UNKNOWN_AUTHN_TYPE = 1741
618
+ RPC_S_MAX_CALLS_TOO_SMALL = 1742
619
+ RPC_S_STRING_TOO_LONG = 1743
620
+ RPC_S_PROTSEQ_NOT_FOUND = 1744
621
+ RPC_S_PROCNUM_OUT_OF_RANGE = 1745
622
+ RPC_S_BINDING_HAS_NO_AUTH = 1746
623
+ RPC_S_UNKNOWN_AUTHN_SERVICE = 1747
624
+ RPC_S_UNKNOWN_AUTHN_LEVEL = 1748
625
+ RPC_S_INVALID_AUTH_IDENTITY = 1749
626
+ RPC_S_UNKNOWN_AUTHZ_SERVICE = 1750
627
+ EPT_S_INVALID_ENTRY = 1751
628
+ EPT_S_CANT_PERFORM_OP = 1752
629
+ EPT_S_NOT_REGISTERED = 1753
630
+ RPC_S_NOTHING_TO_EXPORT = 1754
631
+ RPC_S_INCOMPLETE_NAME = 1755
632
+ RPC_S_INVALID_VERS_OPTION = 1756
633
+ RPC_S_NO_MORE_MEMBERS = 1757
634
+ RPC_S_NOT_ALL_OBJS_UNEXPORTED = 1758
635
+ RPC_S_INTERFACE_NOT_FOUND = 1759
636
+ RPC_S_ENTRY_ALREADY_EXISTS = 1760
637
+ RPC_S_ENTRY_NOT_FOUND = 1761
638
+ RPC_S_NAME_SERVICE_UNAVAILABLE = 1762
639
+ RPC_S_INVALID_NAF_ID = 1763
640
+ RPC_S_CANNOT_SUPPORT = 1764
641
+ RPC_S_NO_CONTEXT_AVAILABLE = 1765
642
+ RPC_S_INTERNAL_ERROR = 1766
643
+ RPC_S_ZERO_DIVIDE = 1767
644
+ RPC_S_ADDRESS_ERROR = 1768
645
+ RPC_S_FP_DIV_ZERO = 1769
646
+ RPC_S_FP_UNDERFLOW = 1770
647
+ RPC_S_FP_OVERFLOW = 1771
648
+ RPC_X_NO_MORE_ENTRIES = 1772
649
+ RPC_X_SS_CHAR_TRANS_OPEN_FAIL = 1773
650
+ RPC_X_SS_CHAR_TRANS_SHORT_FILE = 1774
651
+ RPC_X_SS_IN_NULL_CONTEXT = 1775
652
+ RPC_X_SS_CONTEXT_DAMAGED = 1777
653
+ RPC_X_SS_HANDLES_MISMATCH = 1778
654
+ RPC_X_SS_CANNOT_GET_CALL_HANDLE = 1779
655
+ RPC_X_NULL_REF_POINTER = 1780
656
+ RPC_X_ENUM_VALUE_OUT_OF_RANGE = 1781
657
+ RPC_X_BYTE_COUNT_TOO_SMALL = 1782
658
+ RPC_X_BAD_STUB_DATA = 1783
659
+ ERROR_INVALID_USER_BUFFER = 1784
660
+ ERROR_UNRECOGNIZED_MEDIA = 1785
661
+ ERROR_NO_TRUST_LSA_SECRET = 1786
662
+ ERROR_NO_TRUST_SAM_ACCOUNT = 1787
663
+ ERROR_TRUSTED_DOMAIN_FAILURE = 1788
664
+ ERROR_TRUSTED_RELATIONSHIP_FAILURE = 1789
665
+ ERROR_TRUST_FAILURE = 1790
666
+ RPC_S_CALL_IN_PROGRESS = 1791
667
+ ERROR_NETLOGON_NOT_STARTED = 1792
668
+ ERROR_ACCOUNT_EXPIRED = 1793
669
+ ERROR_REDIRECTOR_HAS_OPEN_HANDLES = 1794
670
+ ERROR_PRINTER_DRIVER_ALREADY_INSTALLED = 1795
671
+ ERROR_UNKNOWN_PORT = 1796
672
+ ERROR_UNKNOWN_PRINTER_DRIVER = 1797
673
+ ERROR_UNKNOWN_PRINTPROCESSOR = 1798
674
+ ERROR_INVALID_SEPARATOR_FILE = 1799
675
+ ERROR_INVALID_PRIORITY = 1800
676
+ ERROR_INVALID_PRINTER_NAME = 1801
677
+ ERROR_PRINTER_ALREADY_EXISTS = 1802
678
+ ERROR_INVALID_PRINTER_COMMAND = 1803
679
+ ERROR_INVALID_DATATYPE = 1804
680
+ ERROR_INVALID_ENVIRONMENT = 1805
681
+ RPC_S_NO_MORE_BINDINGS = 1806
682
+ ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT = 1807
683
+ ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT = 1808
684
+ ERROR_NOLOGON_SERVER_TRUST_ACCOUNT = 1809
685
+ ERROR_DOMAIN_TRUST_INCONSISTENT = 1810
686
+ ERROR_SERVER_HAS_OPEN_HANDLES = 1811
687
+ ERROR_RESOURCE_DATA_NOT_FOUND = 1812
688
+ ERROR_RESOURCE_TYPE_NOT_FOUND = 1813
689
+ ERROR_RESOURCE_NAME_NOT_FOUND = 1814
690
+ ERROR_RESOURCE_LANG_NOT_FOUND = 1815
691
+ ERROR_NOT_ENOUGH_QUOTA = 1816
692
+ RPC_S_NO_INTERFACES = 1817
693
+ RPC_S_CALL_CANCELLED = 1818
694
+ RPC_S_BINDING_INCOMPLETE = 1819
695
+ RPC_S_COMM_FAILURE = 1820
696
+ RPC_S_UNSUPPORTED_AUTHN_LEVEL = 1821
697
+ RPC_S_NO_PRINC_NAME = 1822
698
+ RPC_S_NOT_RPC_ERROR = 1823
699
+ RPC_S_UUID_LOCAL_ONLY = 1824
700
+ RPC_S_SEC_PKG_ERROR = 1825
701
+ RPC_S_NOT_CANCELLED = 1826
702
+ RPC_X_INVALID_ES_ACTION = 1827
703
+ RPC_X_WRONG_ES_VERSION = 1828
704
+ RPC_X_WRONG_STUB_VERSION = 1829
705
+ RPC_X_INVALID_PIPE_OBJECT = 1830
706
+ RPC_X_WRONG_PIPE_ORDER = 1831
707
+ RPC_X_WRONG_PIPE_VERSION = 1832
708
+ RPC_S_GROUP_MEMBER_NOT_FOUND = 1898
709
+ EPT_S_CANT_CREATE = 1899
710
+ RPC_S_INVALID_OBJECT = 1900
711
+ ERROR_INVALID_TIME = 1901
712
+ ERROR_INVALID_FORM_NAME = 1902
713
+ ERROR_INVALID_FORM_SIZE = 1903
714
+ ERROR_ALREADY_WAITING = 1904
715
+ ERROR_PRINTER_DELETED = 1905
716
+ ERROR_INVALID_PRINTER_STATE = 1906
717
+ ERROR_PASSWORD_MUST_CHANGE = 1907
718
+ ERROR_DOMAIN_CONTROLLER_NOT_FOUND = 1908
719
+ ERROR_ACCOUNT_LOCKED_OUT = 1909
720
+ OR_INVALID_OXID = 1910
721
+ OR_INVALID_OID = 1911
722
+ OR_INVALID_SET = 1912
723
+ RPC_S_SEND_INCOMPLETE = 1913
724
+ RPC_S_INVALID_ASYNC_HANDLE = 1914
725
+ RPC_S_INVALID_ASYNC_CALL = 1915
726
+ RPC_X_PIPE_CLOSED = 1916
727
+ RPC_X_PIPE_DISCIPLINE_ERROR = 1917
728
+ RPC_X_PIPE_EMPTY = 1918
729
+ ERROR_NO_SITENAME = 1919
730
+ ERROR_CANT_ACCESS_FILE = 1920
731
+ ERROR_CANT_RESOLVE_FILENAME = 1921
732
+ ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY = 1922
733
+ ERROR_DS_NO_ATTRIBUTE_OR_VALUE = 1923
734
+ ERROR_DS_INVALID_ATTRIBUTE_SYNTAX = 1924
735
+ ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED = 1925
736
+ ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS = 1926
737
+ ERROR_DS_BUSY = 1927
738
+ ERROR_DS_UNAVAILABLE = 1928
739
+ ERROR_DS_NO_RIDS_ALLOCATED = 1929
740
+ ERROR_DS_NO_MORE_RIDS = 1930
741
+ ERROR_DS_INCORRECT_ROLE_OWNER = 1931
742
+ ERROR_DS_RIDMGR_INIT_ERROR = 1932
743
+ ERROR_DS_OBJ_CLASS_VIOLATION = 1933
744
+ ERROR_DS_CANT_ON_NON_LEAF = 1934
745
+ ERROR_DS_CANT_ON_RDN = 1935
746
+ ERROR_DS_CANT_MOD_OBJ_CLASS = 1936
747
+ ERROR_DS_CROSS_DOM_MOVE_ERROR = 1937
748
+ ERROR_DS_GC_NOT_AVAILABLE = 1938
749
+ ERROR_NO_BROWSER_SERVERS_FOUND = 6118
750
+ ERROR_INVALID_PIXEL_FORMAT = 2000
751
+ ERROR_BAD_DRIVER = 2001
752
+ ERROR_INVALID_WINDOW_STYLE = 2002
753
+ ERROR_METAFILE_NOT_SUPPORTED = 2003
754
+ ERROR_TRANSFORM_NOT_SUPPORTED = 2004
755
+ ERROR_CLIPPING_NOT_SUPPORTED = 2005
756
+ ERROR_INVALID_CMM = 2300
757
+ ERROR_INVALID_PROFILE = 2301
758
+ ERROR_TAG_NOT_FOUND = 2302
759
+ ERROR_TAG_NOT_PRESENT = 2303
760
+ ERROR_DUPLICATE_TAG = 2304
761
+ ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE = 2305
762
+ ERROR_PROFILE_NOT_FOUND = 2306
763
+ ERROR_INVALID_COLORSPACE = 2307
764
+ ERROR_ICM_NOT_ENABLED = 2308
765
+ ERROR_DELETING_ICM_XFORM = 2309
766
+ ERROR_INVALID_TRANSFORM = 2310
767
+ ERROR_UNKNOWN_PRINT_MONITOR = 3000
768
+ ERROR_PRINTER_DRIVER_IN_USE = 3001
769
+ ERROR_SPOOL_FILE_NOT_FOUND = 3002
770
+ ERROR_SPL_NO_STARTDOC = 3003
771
+ ERROR_SPL_NO_ADDJOB = 3004
772
+ ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED = 3005
773
+ ERROR_PRINT_MONITOR_ALREADY_INSTALLED = 3006
774
+ ERROR_INVALID_PRINT_MONITOR = 3007
775
+ ERROR_PRINT_MONITOR_IN_USE = 3008
776
+ ERROR_PRINTER_HAS_JOBS_QUEUED = 3009
777
+ ERROR_SUCCESS_REBOOT_REQUIRED = 3010
778
+ ERROR_SUCCESS_RESTART_REQUIRED = 3011
779
+ ERROR_WINS_INTERNAL = 4000
780
+ ERROR_CAN_NOT_DEL_LOCAL_WINS = 4001
781
+ ERROR_STATIC_INIT = 4002
782
+ ERROR_INC_BACKUP = 4003
783
+ ERROR_FULL_BACKUP = 4004
784
+ ERROR_REC_NON_EXISTENT = 4005
785
+ ERROR_RPL_NOT_ALLOWED = 4006
786
+ ERROR_DHCP_ADDRESS_CONFLICT = 4100
787
+ ERROR_WMI_GUID_NOT_FOUND = 4200
788
+ ERROR_WMI_INSTANCE_NOT_FOUND = 4201
789
+ ERROR_WMI_ITEMID_NOT_FOUND = 4202
790
+ ERROR_WMI_TRY_AGAIN = 4203
791
+ ERROR_WMI_DP_NOT_FOUND = 4204
792
+ ERROR_WMI_UNRESOLVED_INSTANCE_REF = 4205
793
+ ERROR_WMI_ALREADY_ENABLED = 4206
794
+ ERROR_WMI_GUID_DISCONNECTED = 4207
795
+ ERROR_WMI_SERVER_UNAVAILABLE = 4208
796
+ ERROR_WMI_DP_FAILED = 4209
797
+ ERROR_WMI_INVALID_MOF = 4210
798
+ ERROR_WMI_INVALID_REGINFO = 4211
799
+ ERROR_INVALID_MEDIA = 4300
800
+ ERROR_INVALID_LIBRARY = 4301
801
+ ERROR_INVALID_MEDIA_POOL = 4302
802
+ ERROR_DRIVE_MEDIA_MISMATCH = 4303
803
+ ERROR_MEDIA_OFFLINE = 4304
804
+ ERROR_LIBRARY_OFFLINE = 4305
805
+ ERROR_EMPTY = 4306
806
+ ERROR_NOT_EMPTY = 4307
807
+ ERROR_MEDIA_UNAVAILABLE = 4308
808
+ ERROR_RESOURCE_DISABLED = 4309
809
+ ERROR_INVALID_CLEANER = 4310
810
+ ERROR_UNABLE_TO_CLEAN = 4311
811
+ ERROR_OBJECT_NOT_FOUND = 4312
812
+ ERROR_DATABASE_FAILURE = 4313
813
+ ERROR_DATABASE_FULL = 4314
814
+ ERROR_MEDIA_INCOMPATIBLE = 4315
815
+ ERROR_RESOURCE_NOT_PRESENT = 4316
816
+ ERROR_INVALID_OPERATION = 4317
817
+ ERROR_MEDIA_NOT_AVAILABLE = 4318
818
+ ERROR_DEVICE_NOT_AVAILABLE = 4319
819
+ ERROR_REQUEST_REFUSED = 4320
820
+ ERROR_FILE_OFFLINE = 4350
821
+ ERROR_REMOTE_STORAGE_NOT_ACTIVE = 4351
822
+ ERROR_REMOTE_STORAGE_MEDIA_ERROR = 4352
823
+ ERROR_NOT_A_REPARSE_POINT = 4390
824
+ ERROR_REPARSE_ATTRIBUTE_CONFLICT = 4391
825
+ ERROR_DEPENDENT_RESOURCE_EXISTS = 5001
826
+ ERROR_DEPENDENCY_NOT_FOUND = 5002
827
+ ERROR_DEPENDENCY_ALREADY_EXISTS = 5003
828
+ ERROR_RESOURCE_NOT_ONLINE = 5004
829
+ ERROR_HOST_NODE_NOT_AVAILABLE = 5005
830
+ ERROR_RESOURCE_NOT_AVAILABLE = 5006
831
+ ERROR_RESOURCE_NOT_FOUND = 5007
832
+ ERROR_SHUTDOWN_CLUSTER = 5008
833
+ ERROR_CANT_EVICT_ACTIVE_NODE = 5009
834
+ ERROR_OBJECT_ALREADY_EXISTS = 5010
835
+ ERROR_OBJECT_IN_LIST = 5011
836
+ ERROR_GROUP_NOT_AVAILABLE = 5012
837
+ ERROR_GROUP_NOT_FOUND = 5013
838
+ ERROR_GROUP_NOT_ONLINE = 5014
839
+ ERROR_HOST_NODE_NOT_RESOURCE_OWNER = 5015
840
+ ERROR_HOST_NODE_NOT_GROUP_OWNER = 5016
841
+ ERROR_RESMON_CREATE_FAILED = 5017
842
+ ERROR_RESMON_ONLINE_FAILED = 5018
843
+ ERROR_RESOURCE_ONLINE = 5019
844
+ ERROR_QUORUM_RESOURCE = 5020
845
+ ERROR_NOT_QUORUM_CAPABLE = 5021
846
+ ERROR_CLUSTER_SHUTTING_DOWN = 5022
847
+ ERROR_INVALID_STATE = 5023
848
+ ERROR_RESOURCE_PROPERTIES_STORED = 5024
849
+ ERROR_NOT_QUORUM_CLASS = 5025
850
+ ERROR_CORE_RESOURCE = 5026
851
+ ERROR_QUORUM_RESOURCE_ONLINE_FAILED = 5027
852
+ ERROR_QUORUMLOG_OPEN_FAILED = 5028
853
+ ERROR_CLUSTERLOG_CORRUPT = 5029
854
+ ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE = 5030
855
+ ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE = 5031
856
+ ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND = 5032
857
+ ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE = 5033
858
+ ERROR_ENCRYPTION_FAILED = 6000
859
+ ERROR_DECRYPTION_FAILED = 6001
860
+ ERROR_FILE_ENCRYPTED = 6002
861
+ ERROR_NO_RECOVERY_POLICY = 6003
862
+ ERROR_NO_EFS = 6004
863
+ ERROR_WRONG_EFS = 6005
864
+ ERROR_NO_USER_KEYS = 6006
865
+ ERROR_FILE_NOT_ENCRYPTED = 6007
866
+ ERROR_NOT_EXPORT_FORMAT = 6008
867
+
868
+ # Values are 32 bit values layed out as follows:
869
+ #
870
+ # 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
871
+ # 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
872
+ # +---+-+-+-----------------------+-------------------------------+
873
+ # |Sev|C|R| Facility | Code |
874
+ # +---+-+-+-----------------------+-------------------------------+
875
+ #
876
+ # where
877
+ #
878
+ # Sev - is the severity code
879
+ #
880
+ # 00 - Success
881
+ # 01 - Informational
882
+ # 10 - Warning
883
+ # 11 - Error
884
+ #
885
+ # C - is the Customer code flag
886
+ #
887
+ # R - is a reserved bit
888
+ #
889
+ # Facility - is the facility code
890
+ #
891
+ # Code - is the facility's status code