Home COM GDI+ WebBrowser Data Access

ILayoutStorage Interface

 

IID_ILayoutStorage

{0E6D4D90-6738-11CF-9608-00AA00680DB4}

 

 

The ILayoutStorage interface enables an application to optimize the layout of its compound files for efficient downloading across a slow link. The goal is to enable a browser or other application to download data in the order in which it will actually be required.

 

To optimize a compound file, an application calls CopyTo to layout a docfile, thus improving performance in most scenarios.

 

Use ILayoutStorage to optimize your application's compound files.

 

 

Methods in VTable order

IUnknown Methods

Description

QueryInterface

Returns pointers to supported interfaces.

AddRef

Increments reference count.

Release

Decrements reference count.

ILayoutStorage Methods

Description

LayoutScript

Provides explicit layout instructions.

BeginMonitor

Monitors data access to a file.

EndMonitor

Ends monitoring of data access.

ReLayoutDocFile

Rewrites file using layout information.

ReLayoutDocFileOnIlockBytes

Not implemented.

 

QueryInterface

 

FUNCTION ILayoutStorage_QueryInterface ( _

  BYVAL pthis AS DWORD PTR _

, BYREF riid AS GUID _

, BYREF ppvObj AS DWORD _

  ) AS LONG


  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[0] USING ILayoutStorage_QueryInterface (pthis, riid, ppvObj) TO HRESULT
  FUNCTION = HRESULT
 

END FUNCTION

 

 

AddRef

 

FUNCTION ILayoutStorage_AddRef ( _

  BYVAL pthis AS DWORD PTR _

  ) AS DWORD
 

  LOCAL DWRESULT AS LONG
  CALL DWORD @@pthis[1] USING ILayoutStorage_AddRef (pthis) TO DWRESULT
  FUNCTION = DWRESULT
 

END FUNCTION

 

 

Release

 

FUNCTION ILayoutStorage_Release ( _

  BYVAL pthis AS DWORD PTR _

  ) AS DWORD
 

  LOCAL DWRESULT AS DWORD
  CALL DWORD @@pthis[2] USING ILayoutStorage_Release (pthis) TO DWRESULT
  FUNCTION = DWRESULT
 

END FUNCTION

 

 

LayoutScript

 

FUNCTION ILayoutStorage_LayoutScript ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL pStorageLayout AS DWORD _

, BYVAL nEntries AS DWORD _

, BYVAL glfInterleavedFlag AS DWORD _

  ) AS LONG
 

  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[3] USING ILayoutStorage_LayoutScript (pthis, pStorageLayout, nEntries, glfInterleavedFlag) TO HRESULT
  FUNCTION = HRESULT
 

END FUNCTION

 

 

BeginMonitor

 

FUNCTION ILayoutStorage_BeginMonitor ( _

  BYVAL pthis AS DWORD PTR _

  ) AS LONG
 

  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[4] USING ILayoutStorage_BeginMonitor (pthis) TO HRESULT
  FUNCTION = HRESULT
 

END FUNCTION

 

 

EndMonitor

 

FUNCTION ILayoutStorage_EndMonitor ( _

  BYVAL pthis AS DWORD PTR _

  ) AS LONG
 

  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[5] USING ILayoutStorage_EndMonitor (pthis) TO HRESULT
  FUNCTION = HRESULT
 

END FUNCTION

 

 

ReLayoutDocFile

 

FUNCTION ILayoutStorage_ReLayoutDocfile ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL strNewDfName AS STRING _

  ) AS LONG
 

  LOCAL HRESULT AS LONG
  strNewDfName = UCODE$(strNewDfName) & $NUL
  CALL DWORD @@pthis[6] USING ILayoutStorage_ReLayoutDocfile (pthis, strNewDfName) TO HRESULT
  FUNCTION = HRESULT
 

END FUNCTION

 

 

ReLayoutDocFileOnLockBytes

 

The ReLayoutDocfileOnILockBytes method is not implemented. If called, it returns STG_E_UNIMPLEMENTEDFUNCTION.

 

FUNCTION ILayoutStorage_ReLayoutDocfileOnILockBytes ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL pILockBytes AS DWORD _

  ) AS LONG
 

  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[7] USING ILayoutStorage_ReLayoutDocfileOnILockBytes (pthis, pILockBytes) TO HRESULT
  FUNCTION = HRESULT
 

END FUNCTION

 

 

Page last updated on Friday, 17 March 2006 23:37:31 +0100