Class: TurboRex::Windows::COM::Interface::IStorage

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

Constant Summary collapse

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

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

  HRESULT STDMETHODCALLTYPE CreateStream( 
    IStorage * This,
    const OLECHAR *pwcsName,
    DWORD grfMode,
    DWORD reserved1,
    DWORD reserved2,
    IStream **ppstm);

  HRESULT STDMETHODCALLTYPE OpenStream( 
    IStorage * This,
    const OLECHAR *pwcsName,
    void *reserved1,
    DWORD grfMode,
    DWORD reserved2,
    IStream **ppstm);

  HRESULT STDMETHODCALLTYPE CreateStorage( 
    IStorage * This,
    const OLECHAR *pwcsName,
    DWORD grfMode,
    DWORD reserved1,
    DWORD reserved2,
    IStorage **ppstg);

  HRESULT STDMETHODCALLTYPE OpenStorage( 
    IStorage * This,
    const OLECHAR *pwcsName,
    IStorage *pstgPriority,
    DWORD grfMode,
    SNB snbExclude,
    DWORD reserved,
    IStorage **ppstg);

  HRESULT STDMETHODCALLTYPE CopyTo( 
    IStorage * This,
    DWORD ciidExclude,
    const IID *rgiidExclude,
    SNB snbExclude,
    IStorage *pstgDest);

  HRESULT STDMETHODCALLTYPE MoveElementTo ( 
    IStorage * This,
    const OLECHAR *pwcsName,
    IStorage *pstgDest,
    const OLECHAR *pwcsNewName,
    DWORD grfFlags);

  HRESULT STDMETHODCALLTYPE Commit( 
    IStorage * This,
    DWORD grfCommitFlags);

  HRESULT STDMETHODCALLTYPE Revert( 
    IStorage * This);

  HRESULT STDMETHODCALLTYPE EnumElements( 
    IStorage * This,
    DWORD reserved1,
    void *reserved2,
    DWORD reserved3,
    IEnumSTATSTG **ppenum);

  HRESULT STDMETHODCALLTYPE DestroyElement( 
    IStorage * This,
    const OLECHAR *pwcsName);

  HRESULT STDMETHODCALLTYPE RenameElement( 
    IStorage * This,
    const OLECHAR *pwcsOldName,
    const OLECHAR *pwcsNewName);

  HRESULT STDMETHODCALLTYPE SetElementTimes( 
    IStorage * This,
    const OLECHAR *pwcsName,
    const FILETIME *pctime,
    const FILETIME *patime,
    const FILETIME *pmtime);

  HRESULT STDMETHODCALLTYPE SetClass( 
    IStorage * This,
    REFCLSID clsid);

  HRESULT STDMETHODCALLTYPE SetStateBits( 
    IStorage * This,
    DWORD grfStateBits,
    DWORD grfMask);

  HRESULT STDMETHODCALLTYPE Stat( 
    IStorage * This,
    STATSTG *pstatstg,
    DWORD grfStatFlag);
EOS
METHODS =
[
 _symbol['QueryInterface'],
 _symbol['AddRef'],                    
 _symbol['Release'],
 _symbol['CreateStream'],
 _symbol['OpenStream'],
 _symbol['CreateStorage'],
 _symbol['OpenStorage'],
 _symbol['CopyTo'],
 _symbol['MoveElementTo'],
 _symbol['Commit'],
 _symbol['Revert'],
 _symbol['EnumElements'],
 _symbol['DestroyElement'],
 _symbol['RenameElement'],
 _symbol['SetElementTimes'],
 _symbol['SetClass'],
 _symbol['SetStateBits'],
 _symbol['Stat']
]

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

#initializeIStorage

Returns a new instance of IStorage.



458
459
460
461
462
# File 'lib/turborex/windows/com/interface.rb', line 458

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

Instance Method Details

#nameObject



464
465
466
# File 'lib/turborex/windows/com/interface.rb', line 464

def name
  self.class.to_s
end