URLOpenPullStreamURLOpenPullStream*
*



Contents  *



Index  *Topic Contents
*Previous Topic: URLOpenBlockingStream
*Next Topic: URLOpenStream

URLOpenPullStream

HRESULT URLOpenPullStream(
    LPUNKNOWN pCaller,
    LPCSTR szURL,
    DWORD dwReserved,
    LPBINDSTATUSCALLBACK lpfnCB
);

Creates a pull type stream object from a URL.

pCaller
Address of the controlling IUnknown interface of the calling ActiveX component (if the caller is an ActiveX component). If the caller is not an ActiveX component, this value can be set to NULL. Otherwise, the caller is a COM object that is contained in another component (such as an ActiveX control within the context of an HTML page). This parameter represents the outermost IUnknown of the calling component. The function attempts the download within the context of the ActiveX client framework and allows the caller's container to receive callbacks on the progress of the download.
szURL
String containing the URL to be converted to a stream object. Cannot be NULL.
dwReserved
Reserved for future use. Must be zero.
lpfnCB
Address of the caller's IBindStatusCallback interface, on which URLOpenPullStream calls IBindStatusCallback::OnDataAvailable when data arrives from the Internet. IBindStatusCallback::OnDataAvailable can return E_ABORT to abort the download.

The pull model is slightly more cumbersome than the push model, but it allows the client to control the amount of Internet access for the download.

The data is downloaded from the Internet on demand. If not enough data is available locally to satisfy the requests, the IStream::Read call will not block until enough data has arrived. Instead, IStream::Read immediately returns E_PENDING, and URLOpenPullStream requests the next packet of data from the Internet server.


Up Top of Page
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.