Class: TurboRex::Windows::COM::Interface::IStream

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

Constant Summary collapse

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

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

  HRESULT STDMETHODCALLTYPE Read( 
    IStream * This,
    void *pv,
    ULONG cb,
    ULONG *pcbRead);

  HRESULT STDMETHODCALLTYPE Write( 
    IStream * This,
    const void *pv,
    ULONG cb,
    ULONG *pcbWritten);

  HRESULT STDMETHODCALLTYPE Seek( 
    IStream * This,
    LARGE_INTEGER dlibMove,
    DWORD dwOrigin,
    ULARGE_INTEGER *plibNewPosition);

  HRESULT STDMETHODCALLTYPE SetSize( 
    IStream * This,
    ULARGE_INTEGER libNewSize);

  HRESULT STDMETHODCALLTYPE CopyTo( 
    IStream * This,
    void *pstm,
    ULARGE_INTEGER cb,
    ULARGE_INTEGER *pcbRead,
    ULARGE_INTEGER *pcbWritten);

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

  HRESULT STDMETHODCALLTYPE Revert( 
    IStream * This);

  HRESULT STDMETHODCALLTYPE LockRegion( 
    IStream * This,
    ULARGE_INTEGER libOffset,
    ULARGE_INTEGER cb,
    DWORD dwLockType);

  HRESULT STDMETHODCALLTYPE UnlockRegion( 
    IStream * This,
    ULARGE_INTEGER libOffset,
    ULARGE_INTEGER cb,
    DWORD dwLockType);

  HRESULT STDMETHODCALLTYPE Stat( 
    IStream * This,
    STATSTG *pstatstg,
    DWORD grfStatFlag);

  HRESULT STDMETHODCALLTYPE Clone( 
    IStream * This,
    void **ppstm);
EOS
METHODS =
[_symbol['QueryInterface'],
 _symbol['AddRef'],                    
 _symbol['Release'],
 _symbol['Read'],
 _symbol['Write'],
 _symbol['Seek'],
 _symbol['SetSize'],
 _symbol['CopyTo'],
 _symbol['Commit'],
 _symbol['Revert'],
 _symbol['LockRegion'],
 _symbol['UnlockRegion'],
 _symbol['Stat'],
 _symbol['Clone']
]

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

#initializeIStream

Returns a new instance of IStream.



319
320
321
322
323
# File 'lib/turborex/windows/com/interface.rb', line 319

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

Instance Method Details

#nameObject



325
326
327
# File 'lib/turborex/windows/com/interface.rb', line 325

def name
  self.class.to_s
end