module WindowsCOM
Constants
- CC_CDECL
- CC_FASTCALL
- CC_FPFASTCALL
- CC_MACPASCAL
- CC_MAX
- CC_MPWCDECL
- CC_MPWPASCAL
- CC_MSCPASCAL
- CC_PASCAL
- CC_STDCALL
- CC_SYSCALL
- CLSCTX_ACTIVATE_32_BIT_SERVER
- CLSCTX_ACTIVATE_64_BIT_SERVER
- CLSCTX_ALL
- CLSCTX_DISABLE_AAA
- CLSCTX_ENABLE_AAA
- CLSCTX_ENABLE_CLOAKING
- CLSCTX_ENABLE_CODE_DOWNLOAD
- CLSCTX_FROM_DEFAULT_CONTEXT
- CLSCTX_INPROC
- CLSCTX_INPROC_HANDLER
- CLSCTX_INPROC_HANDLER16
- CLSCTX_INPROC_SERVER
- CLSCTX_INPROC_SERVER16
- CLSCTX_LOCAL_SERVER
- CLSCTX_NO_CODE_DOWNLOAD
- CLSCTX_NO_CUSTOM_MARSHAL
- CLSCTX_NO_FAILURE_LOG
- CLSCTX_PS_DLL
- CLSCTX_REMOTE_SERVER
- CLSCTX_RESERVED1
- CLSCTX_RESERVED2
- CLSCTX_RESERVED3
- CLSCTX_RESERVED4
- CLSCTX_RESERVED5
- CLSCTX_SERVER
- DISPATCH_METHOD
- DISPATCH_PROPERTYGET
- DISPATCH_PROPERTYPUT
- DISPATCH_PROPERTYPUTREF
- ERROR_CANCELLED
- E_ABORT
- E_ACCESSDENIED
- E_FAIL
- E_HANDLE
- E_INVALIDARG
- E_NOINTERFACE
- E_NOTIMPL
- E_OUTOFMEMORY
- E_PENDING
- E_POINTER
- E_UNEXPECTED
- FACILITY_WIN32
- IConnectionPoint
- IConnectionPointContainer
- IDispatch
- IObjectWithSite
- IOleClientSite
- IOleInPlaceObject
- IOleInPlaceSite
- IOleObject
- IOleWindow
- IUnknown
- OLECLOSE_NOSAVE
- OLECLOSE_PROMPTSAVE
- OLECLOSE_SAVEIFDIRTY
- OLEGETMONIKER_FORCEASSIGN
- OLEGETMONIKER_ONLYIFTHERE
- OLEGETMONIKER_TEMPFORUSER
- OLEGETMONIKER_UNASSIGN
- OLEIVERB_DISCARDUNDOSTATE
- OLEIVERB_HIDE
- OLEIVERB_INPLACEACTIVATE
- OLEIVERB_OPEN
- OLEIVERB_PRIMARY
- OLEIVERB_SHOW
- OLEIVERB_UIACTIVATE
- OLEMISC_ACTIVATEWHENVISIBLE
- OLEMISC_ACTSLIKEBUTTON
- OLEMISC_ACTSLIKELABEL
- OLEMISC_ALIGNABLE
- OLEMISC_ALWAYSRUN
- OLEMISC_CANLINKBYOLE1
- OLEMISC_CANTLINKINSIDE
- OLEMISC_IGNOREACTIVATEWHENVISIBLE
- OLEMISC_IMEMODE
- OLEMISC_INSERTNOTREPLACE
- OLEMISC_INSIDEOUT
- OLEMISC_INVISIBLEATRUNTIME
- OLEMISC_ISLINKOBJECT
- OLEMISC_NOUIACTIVATE
- OLEMISC_ONLYICONIC
- OLEMISC_RECOMPOSEONRESIZE
- OLEMISC_RENDERINGISDEVICEINDEPENDENT
- OLEMISC_SETCLIENTSITEFIRST
- OLEMISC_SIMPLEFRAME
- OLEMISC_STATIC
- OLEMISC_SUPPORTSMULTILEVELUNDO
- OLEMISC_WANTSTOMENUMERGE
- OLEWHICHMK_CONTAINER
- OLEWHICHMK_OBJFULL
- OLEWHICHMK_OBJREL
- S_FALSE
- S_OK
- USERCLASSTYPE_APPNAME
- USERCLASSTYPE_FULL
- USERCLASSTYPE_SHORT
- VT_ARRAY
- VT_BLOB
- VT_BLOB_OBJECT
- VT_BOOL
- VT_BSTR
- VT_BYREF
- VT_CARRAY
- VT_CF
- VT_CLSID
- VT_CY
- VT_DATE
- VT_DECIMAL
- VT_DISPATCH
- VT_EMPTY
- VT_ERROR
- VT_FILETIME
- VT_HRESULT
- VT_I1
- VT_I2
- VT_I4
- VT_I8
- VT_ILLEGAL
- VT_ILLEGALMASKED
- VT_INT
- VT_LPSTR
- VT_LPWSTR
- VT_NULL
- VT_PTR
- VT_R4
- VT_R8
- VT_RESERVED
- VT_SAFEARRAY
- VT_STORAGE
- VT_STORED_OBJECT
- VT_STREAM
- VT_STREAMED_OBJECT
- VT_TYPEMASK
- VT_UI1
- VT_UI2
- VT_UI4
- VT_UI8
- VT_UINT
- VT_UNKNOWN
- VT_USERDEFINED
- VT_VARIANT
- VT_VECTOR
- VT_VOID
Public Class Methods
DetonateHresult(name, *args) { |hresult| ... }
click to toggle source
# File lib/windows_com/common.rb, line 21 def DetonateHresult(name, *args) hresult = __send__(name, *args) failed = FAILED(hresult) raise "#{name} failed (hresult: #{format('%#08x', hresult)})" if failed hresult ensure yield hresult if failed && block_given? end
FAILED(hr)
click to toggle source
# File lib/windows_com/common.rb, line 99 def FAILED(hr) hr < 0 end
HRESULT_FROM_WIN32(x)
click to toggle source
# File lib/windows_com/common.rb, line 103 def HRESULT_FROM_WIN32(x) (x <= 0) ? x : (x & 0x0000FFFF) | (FACILITY_WIN32 << 16) | 0x80000000 end
InitializeOle()
click to toggle source
# File lib/windows_com/ole.rb, line 14 def InitializeOle DetonateHresult(:OleInitialize, nil) STDERR.puts "OLE initialized" if $DEBUG at_exit { OleUninitialize() STDERR.puts "OLE uninitialized" if $DEBUG } end
SUCCEEDED(hr)
click to toggle source
# File lib/windows_com/common.rb, line 95 def SUCCEEDED(hr) hr >= 0 end
UsingCOMObjects(*objs) { |*objs| ... }
click to toggle source
# File lib/windows_com/common.rb, line 13 def UsingCOMObjects(*objs) yield(*objs) ensure objs.each { |obj| obj.Release } end
Private Instance Methods
DetonateHresult(name, *args) { |hresult| ... }
click to toggle source
# File lib/windows_com/common.rb, line 21 def DetonateHresult(name, *args) hresult = __send__(name, *args) failed = FAILED(hresult) raise "#{name} failed (hresult: #{format('%#08x', hresult)})" if failed hresult ensure yield hresult if failed && block_given? end
FAILED(hr)
click to toggle source
# File lib/windows_com/common.rb, line 99 def FAILED(hr) hr < 0 end
HRESULT_FROM_WIN32(x)
click to toggle source
# File lib/windows_com/common.rb, line 103 def HRESULT_FROM_WIN32(x) (x <= 0) ? x : (x & 0x0000FFFF) | (FACILITY_WIN32 << 16) | 0x80000000 end
InitializeOle()
click to toggle source
# File lib/windows_com/ole.rb, line 14 def InitializeOle DetonateHresult(:OleInitialize, nil) STDERR.puts "OLE initialized" if $DEBUG at_exit { OleUninitialize() STDERR.puts "OLE uninitialized" if $DEBUG } end
SUCCEEDED(hr)
click to toggle source
# File lib/windows_com/common.rb, line 95 def SUCCEEDED(hr) hr >= 0 end
UsingCOMObjects(*objs) { |*objs| ... }
click to toggle source
# File lib/windows_com/common.rb, line 13 def UsingCOMObjects(*objs) yield(*objs) ensure objs.each { |obj| obj.Release } end