Module: Fzeet::Windows::COM::Instance
- Defined in:
- lib/fzeet/windows/com/Common.rb
Class Method Summary collapse
Class Method Details
.[](iface) ⇒ Object
157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 |
# File 'lib/fzeet/windows/com/Common.rb', line 157 def self.[](iface) Class.new(iface) { send(:include, Helpers) def initialize(pointer) self.pointer = pointer @vtbl = self.class::VTBL.new(self[:lpVtbl]) end attr_reader :vtbl self::VTBL.members.each { |name| define_method(name) { |*args| raise "#{self}.#{name} failed." if Windows.FAILED(result = @vtbl[name].call(self, *args)); result } } } end |