Share via


IFillLockBytes (Compact 2013)

3/26/2014

This 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 been downloaded through a call to IFillLockBytes, ILockBytes returns a new error, E_PENDING.

When to Implement

You typically would not implement this interface.

A system developer that wants to provide asynchronous storage for a protocol other than HTTP might implement IFillLockBytes as part of the transport layer.

When to Use

You typically 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 method

Description

QueryInterface

Returns pointers to supported interfaces.

AddRef

Increments the reference count.

Release

Decrements the reference count.

Method

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.

Remarks

To determine whether the platform supports this interface, see Determining Supported COM APIs.

Requirements

Header

objidl.h,
objidl.idl

Library

ole32.lib,
uuid.lib

See Also

Reference

COM Interfaces
IFillLockBytes Implementation
IConnectionPoint
IConnectionPointContainer
ILockBytes
IStorage
IStream