module Fzeet::Windows::COM::Instance
Public Class Methods
[](iface)
click to toggle source
# File lib/fzeet/windows/com/Common.rb, line 158 def self.[](iface) Class.new(iface) { send(:include, Helpers) def initialize(pointer) super(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
new(pointer)
click to toggle source
Calls superclass method
# File lib/fzeet/windows/com/Common.rb, line 162 def initialize(pointer) super(pointer) @vtbl = self.class::VTBL.new(self[:lpVtbl]) end