Module: WindowsCOM::COMFactory
- Defined in:
- lib/windows_com/common.rb
Class Method Summary collapse
Class Method Details
.[](iface, sclsid) ⇒ Object
210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 |
# File 'lib/windows_com/common.rb', line 210 def self.[](iface, sclsid) Class.new(iface) { const_set :CLSID, WindowsCOM::GUID[sclsid] def initialize(clsctx = WindowsCOM::CLSCTX_INPROC) FFI::MemoryPointer.new(:pointer) { |ppv| WindowsCOM::DetonateHresult(:CoCreateInstance, self.class::CLSID, nil, clsctx, self.class::IID, ppv ) super(ppv.read_pointer) } end } end |