Module: Windows::Error
- Included in:
- Unicode
- Defined in:
- lib/windows/error.rb
Constant Summary collapse
- FORMAT_MESSAGE_ALLOCATE_BUFFER =
0x00000100- FORMAT_MESSAGE_IGNORE_INSERTS =
0x00000200- FORMAT_MESSAGE_FROM_STRING =
0x00000400- FORMAT_MESSAGE_FROM_HMODULE =
0x00000800- FORMAT_MESSAGE_FROM_SYSTEM =
0x00001000- FORMAT_MESSAGE_ARGUMENT_ARRAY =
0x00002000- FORMAT_MESSAGE_MAX_WIDTH_MASK =
0x000000FF- SEM_FAILCRITICALERRORS =
0x0001- SEM_NOALIGNMENTFAULTEXCEPT =
0x0004- SEM_NOGPFAULTERRORBOX =
0x0002- SEM_NOOPENFILEERRORBOX =
0x8000- S_OK =
0- NO_ERROR =
0- ERROR_SUCCESS =
0- ERROR_INVALID_FUNCTION =
1- ERROR_FILE_NOT_FOUND =
2- ERROR_PATH_NOT_FOUND =
3- ERROR_TOO_MANY_OPEN_FILES =
4- ERROR_ACCESS_DENIED =
5- ERROR_INVALID_HANDLE =
6- ERROR_ARENA_TRASHED =
7- ERROR_NOT_ENOUGH_MEMORY =
8- ERROR_INVALID_BLOCK =
9- ERROR_BAD_ENVIRONMENT =
10- ERROR_BAD_FORMAT =
11- ERROR_INVALID_ACCESS =
12- ERROR_INVALID_DATA =
13- ERROR_INVALID_DRIVE =
15- ERROR_CURRENT_DIRECTORY =
16- ERROR_NOT_SAME_DEVICE =
17- ERROR_NO_MORE_FILES =
18- ERROR_WRITE_PROTECT =
19- ERROR_BAD_UNIT =
20- ERROR_NOT_READY =
21- ERROR_BAD_COMMAND =
22- ERROR_CRC =
23- ERROR_BAD_LENGTH =
24- ERROR_SEEK =
25- ERROR_NOT_DOS_DISK =
26- ERROR_SECTOR_NOT_FOUND =
27- ERROR_OUT_OF_PAPER =
28- ERROR_WRITE_FAULT =
29- ERROR_READ_FAULT =
30- ERROR_GEN_FAILURE =
31- ERROR_SHARING_VIOLATION =
32- ERROR_LOCK_VIOLATION =
33- ERROR_WRONG_DISK =
34- ERROR_FCB_UNAVAILABLE =
35- ERROR_SHARING_BUFFER_EXCEEDED =
36- ERROR_HANDLE_EOF =
38- ERROR_HANDLE_DISK_FULL =
39- ERROR_NOT_SUPPORTED =
50- ERROR_FILE_EXISTS =
80- ERROR_DUP_FCB =
81- ERROR_CANNOT_MAKE =
82- ERROR_FAIL_I24 =
83- ERROR_OUT_OF_STRUCTURES =
84- ERROR_ALREADY_ASSIGNED =
85- ERROR_INVALID_PASSWORD =
86- ERROR_INVALID_PARAMETER =
87- ERROR_NET_WRITE_FAULT =
88- ERROR_NO_PROC_SLOTS =
no process slots available
89- ERROR_NOT_FROZEN =
90- ERR_TSTOVFL =
timer service table overflow
91- ERR_TSTDUP =
timer service table duplicate
92- ERROR_NO_ITEMS =
There were no items to operate upon
93- ERROR_INTERRUPT =
interrupted system call
95- ERROR_TOO_MANY_SEMAPHORES =
100- ERROR_EXCL_SEM_ALREADY_OWNED =
101- ERROR_SEM_IS_SET =
102- ERROR_TOO_MANY_SEM_REQUESTS =
103- ERROR_INVALID_AT_INTERRUPT_TIME =
104- ERROR_SEM_OWNER_DIED =
waitsem found owner died
105- ERROR_SEM_USER_LIMIT =
too many procs have this sem
106- ERROR_DISK_CHANGE =
insert disk b into drive a
107- ERROR_DRIVE_LOCKED =
drive locked by another process
108- ERROR_BROKEN_PIPE =
write on pipe with no reader
109- ERROR_OPEN_FAILED =
open/created failed
110- ERROR_DISK_FULL =
not enough space
112- ERROR_NO_MORE_SEARCH_HANDLES =
can’t allocate
113- ERROR_INVALID_TARGET_HANDLE =
handle in DOSDUPHANDLE is invalid
114- ERROR_PROTECTION_VIOLATION =
bad user virtual address
115- ERROR_VIOKBD_REQUEST =
116- ERROR_INVALID_CATEGORY =
category for DEVIOCTL not defined
117- ERROR_INVALID_VERIFY_SWITCH =
invalid value
118- ERROR_BAD_DRIVER_LEVEL =
DosDevIOCTL not level four
119- ERROR_CALL_NOT_IMPLEMENTED =
120- ERROR_SEM_TIMEOUT =
timeout from semaphore function
121- ERROR_INSUFFICIENT_BUFFER =
122- ERROR_INVALID_NAME =
illegal char or malformed file system name
123- ERROR_INVALID_LEVEL =
unimplemented level for info retrieval
124- ERROR_NO_VOLUME_LABEL =
no volume label found
125- ERROR_MOD_NOT_FOUND =
w_getprocaddr, w_getmodhandle
126- ERROR_PROC_NOT_FOUND =
w_getprocaddr
127- ERROR_WAIT_NO_CHILDREN =
CWait finds to children
128- ERROR_CHILD_NOT_COMPLETE =
CWait children not dead yet
129- ERROR_DIRECT_ACCESS_HANDLE =
invalid for direct disk access
130- ERROR_NEGATIVE_SEEK =
tried to seek negative offset
131- ERROR_SEEK_ON_DEVICE =
tried to seek on device or pipe
132- ERROR_IS_JOIN_TARGET =
133- ERROR_IS_JOINED =
134- ERROR_IS_SUBSTED =
135- ERROR_NOT_JOINED =
136- ERROR_NOT_SUBSTED =
137- ERROR_JOIN_TO_JOIN =
138- ERROR_SUBST_TO_SUBST =
139- ERROR_JOIN_TO_SUBST =
140- ERROR_SUBST_TO_JOIN =
141- ERROR_BUSY_DRIVE =
142- ERROR_SAME_DRIVE =
143- ERROR_DIR_NOT_ROOT =
144- ERROR_DIR_NOT_EMPTY =
145- ERROR_IS_SUBST_PATH =
146- ERROR_IS_JOIN_PATH =
147- ERROR_PATH_BUSY =
148- ERROR_IS_SUBST_TARGET =
149- ERROR_SYSTEM_TRACE =
system trace error
150- ERROR_INVALID_EVENT_COUNT =
DosMuxSemWait errors
151- ERROR_TOO_MANY_MUXWAITERS =
152- ERROR_INVALID_LIST_FORMAT =
153- ERROR_LABEL_TOO_LONG =
154- ERROR_TOO_MANY_TCBS =
155- ERROR_SIGNAL_REFUSED =
156- ERROR_DISCARDED =
157- ERROR_NOT_LOCKED =
158- ERROR_BAD_THREADID_ADDR =
159- ERROR_BAD_ARGUMENTS =
160- ERROR_BAD_PATHNAME =
161- ERROR_SIGNAL_PENDING =
162- ERROR_UNCERTAIN_MEDIA =
163- ERROR_MAX_THRDS_REACHED =
164- ERROR_MONITORS_NOT_SUPPORTED =
165- ERROR_INVALID_SEGMENT_NUMBER =
180- ERROR_INVALID_CALLGATE =
181- ERROR_INVALID_ORDINAL =
182- ERROR_ALREADY_EXISTS =
183- ERROR_NO_CHILD_PROCESS =
184- ERROR_CHILD_ALIVE_NOWAIT =
185- ERROR_INVALID_FLAG_NUMBER =
186- ERROR_SEM_NOT_FOUND =
187- ERROR_INVALID_STARTING_CODESEG =
188- ERROR_INVALID_STACKSEG =
189- ERROR_INVALID_MODULETYPE =
190- ERROR_INVALID_EXE_SIGNATURE =
191- ERROR_EXE_MARKED_INVALID =
192- ERROR_BAD_EXE_FORMAT =
193- ERROR_ITERATED_DATA_EXCEEDS_64k =
194- ERROR_INVALID_MINALLOCSIZE =
195- ERROR_DYNLINK_FROM_INVALID_RING =
196- ERROR_IOPL_NOT_ENABLED =
197- ERROR_INVALID_SEGDPL =
198- ERROR_AUTODATASEG_EXCEEDS_64k =
199- ERROR_RING2SEG_MUST_BE_MOVABLE =
200- ERROR_RELOC_CHAIN_XEEDS_SEGLIM =
201- ERROR_INFLOOP_IN_RELOC_CHAIN =
202- ERROR_ENVVAR_NOT_FOUND =
203- ERROR_NOT_CURRENT_CTRY =
204- ERROR_NO_SIGNAL_SENT =
205- ERROR_FILENAME_EXCED_RANGE =
if filename > 8.3
206- ERROR_RING2_STACK_IN_USE =
for FAPI
207- ERROR_META_EXPANSION_TOO_LONG =
if “*a” > 8.3
208- ERROR_INVALID_SIGNAL_NUMBER =
209- ERROR_THREAD_1_INACTIVE =
210- ERROR_INFO_NOT_AVAIL =
@@ PTM 5550
211- ERROR_LOCKED =
212- ERROR_BAD_DYNALINK =
@@ PTM 5760
213- ERROR_TOO_MANY_MODULES =
214- ERROR_NESTING_NOT_ALLOWED =
215- ERROR_BAD_PIPE =
230- ERROR_PIPE_BUSY =
231- ERROR_NO_DATA =
232- ERROR_PIPE_NOT_CONNECTED =
233- ERROR_MORE_DATA =
234- ERROR_PIPE_CONNECTED =
535- ERROR_PIPE_LISTENING =
536- ERROR_OPERATION_ABORTED =
995- ERROR_IO_INCOMPLETE =
996- ERROR_IO_PENDING =
997- ERROR_USER_DEFINED_BASE =
0xF000- ERROR_I24_WRITE_PROTECT =
0- ERROR_I24_BAD_UNIT =
1- ERROR_I24_NOT_READY =
2- ERROR_I24_BAD_COMMAND =
3- ERROR_I24_CRC =
4- ERROR_I24_BAD_LENGTH =
5- ERROR_I24_SEEK =
6- ERROR_I24_NOT_DOS_DISK =
7- ERROR_I24_SECTOR_NOT_FOUND =
8- ERROR_I24_OUT_OF_PAPER =
9- ERROR_I24_WRITE_FAULT =
0x0A- ERROR_I24_READ_FAULT =
0x0B- ERROR_I24_GEN_FAILURE =
0x0C- ERROR_I24_DISK_CHANGE =
0x0D- ERROR_I24_WRONG_DISK =
0x0F- ERROR_I24_UNCERTAIN_MEDIA =
0x10- ERROR_I24_CHAR_CALL_INTERRUPTED =
0x11- ERROR_I24_NO_MONITOR_SUPPORT =
0x12- ERROR_I24_INVALID_PARAMETER =
0x13- APPLICATION_ERROR_MASK =
0x20000000- ERROR_SEVERITY_SUCCESS =
0x00000000- ERROR_SEVERITY_INFORMATIONAL =
0x40000000- ERROR_SEVERITY_WARNING =
0x80000000- ERROR_SEVERITY_ERROR =
0xc0000000- ALLOWED_FAIL =
0x0001- ALLOWED_ABORT =
0x0002- ALLOWED_RETRY =
0x0004- ALLOWED_IGNORE =
0x0008- I24_OPERATION =
0x1- I24_AREA =
0x6- I24_CLASS =
0x80- ERRCLASS_OUTRES =
Out of Resource
1- ERRCLASS_TEMPSIT =
Temporary Situation
2- ERRCLASS_AUTH =
Permission problem
3- ERRCLASS_INTRN =
Internal System Error
4- ERRCLASS_HRDFAIL =
Hardware Failure
5- ERRCLASS_SYSFAIL =
System Failure
6- ERRCLASS_APPERR =
Application Error
7- ERRCLASS_NOTFND =
Not Found
8- ERRCLASS_BADFMT =
Bad Format
9- ERRCLASS_LOCKED =
Locked
10- ERRCLASS_MEDIA =
Media Failure
11- ERRCLASS_ALREADY =
Collision with Existing Item
12- ERRCLASS_UNK =
Unknown/other
13- ERRCLASS_CANT =
14- ERRCLASS_TIME =
15- ERRACT_RETRY =
Retry
1- ERRACT_DLYRET =
Delay Retry, retry after pause
2- ERRACT_USER =
Ask user to regive info
3- ERRACT_ABORT =
abort with clean up
4- ERRACT_PANIC =
abort immediately
5- ERRACT_IGNORE =
ignore
6- ERRACT_INTRET =
Retry after User Intervention
7- ERRLOC_UNK =
No appropriate value
1- ERRLOC_DISK =
Random Access Mass Storage
2- ERRLOC_NET =
Network
3- ERRLOC_SERDEV =
Serial Device
4- ERRLOC_MEM =
Memory
5- TC_NORMAL =
0- TC_HARDERR =
1- TC_GP_TRAP =
2- TC_SIGNAL =
3- ERROR_INVALID_FLAGS =
From WinError.h
0x1004- ERROR_NO_UNICODE_TRANSLATION =
0x1113- E_INVALIDARG =
0x80070057- E_NOINTERFACE =
0x80004002- E_NOTIMPL =
0x80004001- E_OUTOFMEMORY =
0x8007000E- E_UNEXPECTED =
0x8000FFFF- RPC_E_TIMEOUT =
0x8001011F- CO_E_NOT_SUPPORTED =
0x80004021- CLASS_E_NOAGGREGATION =
0x80040110- DISP_E_BADINDEX =
0x8002000B- DISP_E_PARAMNOTFOUND =
0x80020004- DISP_E_EXCEPTION =
0x80020009- DISP_E_MEMBERNOTFOUND =
0x80020003- REGDB_E_CLASSNOTREG =
Registry errors
0x80040154- SCHED_S_TASK_READY =
msterr.h
0x00041300- SCHED_S_TASK_RUNNING =
0x00041301- SCHED_S_TASK_DISABLED =
0x00041302- SCHED_S_TASK_HAS_NOT_RUN =
0x00041303- SCHED_S_TASK_HAS_NO_MORE_RUNS =
0x00041304- SCHED_S_TASK_NOT_SCHEDULED =
0x00041305- SCHED_S_TASK_TERMINATED =
0x00041306- SCHED_S_TASK_NO_VALID_TRIGGERS =
0x00041307- SCHED_S_EVENT_TRIGGER =
0x00041308- SCHED_E_TRIGGER_NOT_FOUND =
0x00041309- SCHED_E_TASK_NOT_READY =
0x0004130A- SCHED_E_TASK_NOT_RUNNING =
0x0004130B- SCHED_E_SERVICE_NOT_INSTALLED =
0x0004130C- SCHED_E_CANNOT_OPEN_TASK =
0x0004130D- SCHED_E_INVALID_TASK =
0x0004130E- SCHED_E_ACCOUNT_INFORMATION_NOT_SET =
0x0004130F- SCHED_E_ACCOUNT_NAME_NOT_FOUND =
0x00041310- SCHED_E_ACCOUNT_DBASE_CORRUPT =
0x00041311- SCHED_E_NO_SECURITY_SERVICES =
0x00041312- SCHED_E_UNKNOWN_OBJECT_VERSION =
0x00041313- WSA_INVALID_HANDLE =
Socket errors
6- WSA_NOT_ENOUGH_MEMORY =
8- WSA_INVALID_PARAMETER =
87- WSA_OPERATION_ABORTED =
995- WSA_IO_INCOMPLETE =
996- WSA_IO_PENDING =
997- WSAEINTR =
10004- WSAEBADF =
10009- WSAEACCESS =
10013- WSAEFAULT =
10014- WSAEINVAL =
10022- WSAEMFILE =
10024- WSAEWOULDBLOCK =
10035- WSAEINPROGRESS =
10036- WSAEALREADY =
10037- WSAENOTSOCK =
10038- WSAEDESTADDRREQ =
10039- WSAEMSGSIZE =
10040- WSAEPROTOTYPE =
10041- WSAENOPROTOOPT =
10042- WSAEPROTONOSUPPORT =
10043- WSAESOCKTNOSUPPORT =
10044- WSAEOPNOTSUPP =
10045- WSAEPFNOSUPPORT =
10046- WSAEAFNOSUPPORT =
10047- WSAEADDRINUSE =
10048- WSAEADDRNOTAVAIL =
10049- WSAENETDOWN =
10050- WSAENETUNREACH =
10051- WSAENETRESET =
10052- WSAECONNABORTED =
10053- WSAECONNRESET =
10054- WSAENOBUFS =
10055- WSAEISCONN =
10056- WSAENOTCONN =
10057- WSAESHUTDOWN =
10058- WSAETOOMANYREFS =
10059- WSATIMEDOUT =
10060- WSAECONNREFUSED =
10061- WSAELOOP =
10062- WSAENAMETOOLONG =
10063- WSAEHOSTDOWN =
10064- WSAEHOSTUNREACH =
10065- WSAENOEMPTY =
10066- WSAEPROCLIM =
10067- WSAEUSERS =
10068- WSAEDQUOT =
10069- WSAESTALE =
10070- WSAEREMOTE =
10071- WSASYSNOTREADY =
10091- WSAVERNOTSUPPORTED =
10092- WSANOTINITIALISED =
10093- WSAEDISCON =
10101- WSAENOMORE =
10102- WSAECANCELLED =
10103- WSAEINVALIDPROCTABLE =
10104- WSAEINVALIDPROVIDER =
10105- WSAEPROVIDERFAILEDINIT =
10106- WSASYSCALLFAILURE =
10107- WSASERVICE_NOT_FOUND =
10108- WSATYPE_NOT_FOUND =
10109- WSA_E_NO_MORE =
10110- WSA_E_CANCELLED =
10111- WSAEREFUSED =
10112- WSAHOST_NOT_FOUND =
11001- WSATRY_AGAIN =
11002- WSANO_RECOVERY =
11003- WSANO_DATA =
11004- WSA_QOS_RECEIVERS =
11005- WSA_QOS_SENDERS =
11006
Instance Method Summary collapse
- #FAILED(status) ⇒ Object
-
#get_last_error(err_num = GetLastError.call) ⇒ Object
Convenience method that wraps FormatMessage with some sane defaults and returns a human readable string.
- #HRESULT_CODE(hr) ⇒ Object
- #HRESULT_FACILITY(hr) ⇒ Object
- #HRESULT_FROM_NT(x) ⇒ Object
- #HRESULT_FROM_WIN32(x) ⇒ Object
- #HRESULT_SEVERITY(hr) ⇒ Object
-
#IS_ERROR(status) ⇒ Object
Macros from WinError.h.
- #MAKE_HRESULT(sev, fac, code) ⇒ Object
- #MAKE_SCODE(sev, fac, code) ⇒ Object
- #SUCCEEDED(status) ⇒ Object
Instance Method Details
#FAILED(status) ⇒ Object
474 475 476 |
# File 'lib/windows/error.rb', line 474 def FAILED(status) status < 0 end |
#get_last_error(err_num = GetLastError.call) ⇒ Object
Convenience method that wraps FormatMessage with some sane defaults and returns a human readable string.
429 430 431 432 433 434 |
# File 'lib/windows/error.rb', line 429 def get_last_error(err_num = GetLastError.call) buf = 0.chr * 260 flags = FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ARGUMENT_ARRAY FormatMessageA.call(flags, 0, err_num, 0, buf, buf.size, 0) buf.strip end |
#HRESULT_CODE(hr) ⇒ Object
450 451 452 |
# File 'lib/windows/error.rb', line 450 def HRESULT_CODE(hr) hr & 0xFFFF end |
#HRESULT_FACILITY(hr) ⇒ Object
454 455 456 |
# File 'lib/windows/error.rb', line 454 def HRESULT_FACILITY(hr) (hr >> 16) & 0x1fff end |
#HRESULT_FROM_NT(x) ⇒ Object
458 459 460 |
# File 'lib/windows/error.rb', line 458 def HRESULT_FROM_NT(x) x | 0x10000000 # FACILITY_NT_BIT end |
#HRESULT_FROM_WIN32(x) ⇒ Object
462 463 464 465 466 467 468 |
# File 'lib/windows/error.rb', line 462 def HRESULT_FROM_WIN32(x) if x <= 0 x else (x & 0x0000FFFF) | (7 << 16) | 0x80000000 end end |
#HRESULT_SEVERITY(hr) ⇒ Object
470 471 472 |
# File 'lib/windows/error.rb', line 470 def HRESULT_SEVERITY(hr) (hr >> 31) & 0x1 end |
#IS_ERROR(status) ⇒ Object
Macros from WinError.h
438 439 440 |
# File 'lib/windows/error.rb', line 438 def IS_ERROR(status) status >> 31 == 1 end |
#MAKE_HRESULT(sev, fac, code) ⇒ Object
442 443 444 |
# File 'lib/windows/error.rb', line 442 def MAKE_HRESULT(sev, fac, code) sev << 31 | fac << 16 | code end |
#MAKE_SCODE(sev, fac, code) ⇒ Object
446 447 448 |
# File 'lib/windows/error.rb', line 446 def MAKE_SCODE(sev, fac, code) sev << 31 | fac << 16 | code end |
#SUCCEEDED(status) ⇒ Object
478 479 480 |
# File 'lib/windows/error.rb', line 478 def SUCCEEDED(status) status >= 0 end |