Class: TurboRex::Windows::COM::Interface::IClassFactory

Inherits:
TurboRex::Windows::COM::Interface show all
Defined in:
lib/turborex/windows/com/interface.rb

Constant Summary collapse

METHOD_DEFS =
<<-EOS
  HRESULT STDMETHODCALLTYPE QueryInterface( 
          IClassFactory * This,
          REFIID riid,
          void **ppvObject);

  ULONG STDMETHODCALLTYPE AddRef(IClassFactory * This);
        
  ULONG STDMETHODCALLTYPE Release(IClassFactory * This);

  HRESULT STDMETHODCALLTYPE CreateInstance( 
    IClassFactory * This,
    void *pUnkOuter,
      REFIID riid,
      void **ppvObject);

  HRESULT STDMETHODCALLTYPE LockServer( 
    IClassFactory * This,
    BOOL fLock);
EOS
METHODS =
[
 _symbol['QueryInterface'],
 _symbol['AddRef'],                    
 _symbol['Release'],
 _symbol['CreateInstance'],
 _symbol['LockServer']
]

Constants included from WellKnownIID

WellKnownIID::IID_IClassFactory, WellKnownIID::IID_IPSFactoryBuffer, WellKnownIID::IID_IRpcProxyBuffer, WellKnownIID::IID_IRpcStubBuffer, WellKnownIID::IID_IStorage, WellKnownIID::IID_IStream, WellKnownIID::IID_IUnknown

Instance Attribute Summary

Attributes inherited from TurboRex::Windows::COM::Interface

#iid, #methods, #parent, #pvtbl, #this, #vtbl

Instance Method Summary collapse

Methods inherited from TurboRex::Windows::COM::Interface

define_interface, #marshal_to_string

Constructor Details

#initializeIClassFactory

Returns a new instance of IClassFactory.



80
81
82
83
84
# File 'lib/turborex/windows/com/interface.rb', line 80

def initialize
  methods = METHODS
  parent = nil
  super(IID_IClassFactory, methods, parent)
end

Instance Method Details

#nameObject



86
87
88
# File 'lib/turborex/windows/com/interface.rb', line 86

def name
  self.class.to_s
end