Module: Unknownr::Windows
- Extended by:
- FFI::Library
- Defined in:
- lib/unknownr.rb
Defined Under Namespace
Modules: COM
Classes: GUID
Constant Summary
collapse
- S_OK =
0
- S_FALSE =
1
- E_UNEXPECTED =
0x8000FFFF - 0x1_0000_0000
- E_NOTIMPL =
0x80004001 - 0x1_0000_0000
- E_OUTOFMEMORY =
0x8007000E - 0x1_0000_0000
- E_INVALIDARG =
0x80070057 - 0x1_0000_0000
- E_NOINTERFACE =
0x80004002 - 0x1_0000_0000
- E_POINTER =
0x80004003 - 0x1_0000_0000
- E_HANDLE =
0x80070006 - 0x1_0000_0000
- E_ABORT =
0x80004004 - 0x1_0000_0000
- E_FAIL =
0x80004005 - 0x1_0000_0000
- E_ACCESSDENIED =
0x80070005 - 0x1_0000_0000
- E_PENDING =
0x8000000A - 0x1_0000_0000
- FACILITY_WIN32 =
7
- ERROR_CANCELLED =
1223
- CLSCTX_INPROC_SERVER =
0x1
- CLSCTX_INPROC_HANDLER =
0x2
- CLSCTX_LOCAL_SERVER =
0x4
- CLSCTX_INPROC_SERVER16 =
0x8
- CLSCTX_REMOTE_SERVER =
0x10
- CLSCTX_INPROC_HANDLER16 =
0x20
- CLSCTX_RESERVED1 =
0x40
- CLSCTX_RESERVED2 =
0x80
- CLSCTX_RESERVED3 =
0x100
- CLSCTX_RESERVED4 =
0x200
- CLSCTX_NO_CODE_DOWNLOAD =
0x400
- CLSCTX_RESERVED5 =
0x800
- CLSCTX_NO_CUSTOM_MARSHAL =
0x1000
- CLSCTX_ENABLE_CODE_DOWNLOAD =
0x2000
- CLSCTX_NO_FAILURE_LOG =
0x4000
- CLSCTX_DISABLE_AAA =
0x8000
- CLSCTX_ENABLE_AAA =
0x10000
- CLSCTX_FROM_DEFAULT_CONTEXT =
0x20000
- CLSCTX_ACTIVATE_32_BIT_SERVER =
0x40000
- CLSCTX_ACTIVATE_64_BIT_SERVER =
0x80000
- CLSCTX_ENABLE_CLOAKING =
0x100000
- CLSCTX_PS_DLL =
-0x80000000
- CLSCTX_INPROC =
CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER
- CLSCTX_ALL =
CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER
- CLSCTX_SERVER =
CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER
- IUnknown =
- Unknown =
Class Method Summary
collapse
Class Method Details
.DetonateHresult(name, *args) ⇒ Object
38
39
40
41
42
43
44
|
# File 'lib/unknownr.rb', line 38
def DetonateHresult(name, *args)
failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
result
ensure
yield failed if block_given?
end
|
.FAILED(hr) ⇒ Object
30
|
# File 'lib/unknownr.rb', line 30
def FAILED(hr) hr < 0 end
|
.HRESULT_FROM_WIN32(x) ⇒ Object
31
|
# File 'lib/unknownr.rb', line 31
def HRESULT_FROM_WIN32(x) (x <= 0) ? x : (x & 0x0000FFFF) | (FACILITY_WIN32 << 16) | 0x80000000 end
|
.SUCCEEDED(hr) ⇒ Object
29
|
# File 'lib/unknownr.rb', line 29
def SUCCEEDED(hr) hr >= 0 end
|