Home COM GDI+ WebBrowser Data Access

IFillLockBytes Interface

 

IID_IFillLockBytes

{99CAF010-415E-11CF-8814-00AA00B569F5}

 

 

The IFillLockBytes interface enables downloading code to write data asynchronously to a structured storage byte array. When the downloading code has new data available, it calls IFillLockBytes::FillAppend or IFillLockBytes::FillAt to write the data to the byte array. An application attempting to access this data, through calls to the ILockBytes interface, can do so even as the downloader continues to make calls to IFillLockBytes. If the application attempts to access data that has not already been downloaded through a call to IFillLockBytes, then ILockBytes returns a new error, E_PENDING.

 

You normally would not call this interface. Monikers or other downloading code that provide asynchronous storage use this interface to fill the byte array as data becomes available.

 

 

Methods in VTable order

IUnknown Methods

Description

QueryInterface

Returns pointers to supported interfaces.

AddRef

Increments reference count.

Release

Decrements reference count.

IFillLockBytes Methods

Description

FillAppend

Writes a new block of bytes to end of byte array.

FillAt

Writes a new block of bytes to specified location in byte array.

SetFillSize

Sets expected size of byte array.

Terminate

Notifies byte array wrapper of successful or unsuccessful termination of download.

 

QueryInterface

 

FUNCTION IFillLockBytes_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 IFillLockBytes_QueryInterface (pthis, riid, ppvObj) TO HRESULT
  FUNCTION = HRESULT
 

END FUNCTION

 

 

AddRef

 

FUNCTION IFillLockBytes_AddRef ( _

  BYVAL pthis AS DWORD PTR _

  ) AS DWORD
 

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

END FUNCTION

 

 

Release

 

FUNCTION IFillLockBytes_Release ( _

  BYVAL pthis AS DWORD PTR _

  ) AS DWORD
 

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

END FUNCTION

 

 

FillAppend

 

FUNCTION IFillLockBytes_FillAppend ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL pv AS DWORD _

, BYVAL cb AS DWORD _

, BYREF pcbWritten AS DWORD _

  ) AS LONG
 

  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[3] USING IFillLockBytes_FillAppend (pthis, pv, cb, pcbWritten) TO HRESULT
  FUNCTION = HRESULT


END FUNCTION

 

 

FillAt

 

FUNCTION IFillLockBytes_FillAt ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL ulOffset AS QUAD _

, BYVAL pv AS DWORD _

, BYVAL cb AS DWORD _

, BYREF pcbWritten AS DWORD _

  ) AS LONG


  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[4] USING IFillLockBytes_FillAt (pthis, ulOffset, pv, cb, pcbWritten) TO HRESULT
  FUNCTION = HRESULT


END FUNCTION

 

 

SetFillSize

 

FUNCTION IFillLockBytes_SetFillSize ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL ulSize AS QUAD _

  ) AS LONG
 

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

END FUNCTION

 

 

Terminate

 

FUNCTION IFillLockBytes_Terminate ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL bCanceled AS LONG _

  ) AS LONG
 

  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[6] USING IFillLockBytes_Terminate (pthis, bCanceled) TO HRESULT
  FUNCTION = HRESULT
 

END FUNCTION

 

 

Page last updated on Friday, 17 March 2006 23:54:41 +0100