rynoster
asked on
URLDownloadToFile & progressbar
Hi
Anyone know how to implement a progressbar with the URLDownloadToFile call??
Thanks.
Anyone know how to implement a progressbar with the URLDownloadToFile call??
Thanks.
ASKER
One of the parameters in the URLDownloadToFile function is, IBindStatusCallBack, which, according to MS is a way to control a progress bar. I just don't know how!!
I'll send you an email anyway.
Thanks.
I'll send you an email anyway.
Thanks.
A client requesting an asynchronous bind operation must provide a notification object exposing the IBindStatusCallback interface. The asynchronous moniker provides information on the bind operation to the client by calling notification methods on the client's IBindStatusCallback interface. This interface also allows the client to pass additional bind information to the moniker by calling the IBindStatusCallback::GetBi ndInfo and IBindStatusCallback::GetPr iority methods after receiving a call from IMoniker::BindToObject or IMoniker::BindToStorage .
IBindStatusCallback Members
GetBindInfo Provides information about how the bind operation should be handled when called by an asynchronous moniker.
GetPriority Obtains the priority for the bind operation when called by an asynchronous moniker.
OnDataAvailable Provides data to the client as it becomes available during asynchronous bind operations.
OnLowResource Not currently implemented.
OnObjectAvailable Passes the requested object interface pointer to the client.
OnProgress Indicates the progress of the bind operation.
OnStartBinding Notifies the client about the callback methods it is registered to receive. This notification is a response to the flags the client requested in the RegisterBindStatusCallback function.
OnStopBinding Indicates the end of the bind operation.
////////////////////////// ////////// //////////
IBindStatusCallback::OnPro gress Method
-------------------------- ---------- ---------- ---------- ---------- ---------- ----
Indicates the progress of the bind operation.
Syntax
HRESULT OnProgress( ULONG ulProgress,
ULONG ulProgressMax,
ULONG ulStatusCode,
LPCWSTR szStatusText
);
Parameters
ulProgress
[in] Unsigned long integer that contains the current progress of the bind operation relative to the expected maximum indicated in the ulProgressMax parameter.
ulProgressMax
[in] Unsigned long integer that contains the expected maximum value of the ulProgress parameter for the duration of calls to IBindStatusCallback::OnPro gress for this bind operation. Note that this value might change across calls to this method. A value of zero means that the maximum value of ulProgress is unknown (for example, in the IMoniker::BindToStorage method when the data download size is unknown).
ulStatusCode
[in] Unsigned long integer that receives additional information regarding the progress of the bind operation. This can be any of the BINDSTATUS values.
szStatusText
[in] Address of a string value that contains the textual information indicating the current progress of the bind operation. The text reflects the BINDSTATUS value of the ulStatusCode parameter and is appropriate for display in the user interface of the client.
IBindStatusCallback Members
GetBindInfo Provides information about how the bind operation should be handled when called by an asynchronous moniker.
GetPriority Obtains the priority for the bind operation when called by an asynchronous moniker.
OnDataAvailable Provides data to the client as it becomes available during asynchronous bind operations.
OnLowResource Not currently implemented.
OnObjectAvailable Passes the requested object interface pointer to the client.
OnProgress Indicates the progress of the bind operation.
OnStartBinding Notifies the client about the callback methods it is registered to receive. This notification is a response to the flags the client requested in the RegisterBindStatusCallback
OnStopBinding Indicates the end of the bind operation.
//////////////////////////
IBindStatusCallback::OnPro
--------------------------
Indicates the progress of the bind operation.
Syntax
HRESULT OnProgress( ULONG ulProgress,
ULONG ulProgressMax,
ULONG ulStatusCode,
LPCWSTR szStatusText
);
Parameters
ulProgress
[in] Unsigned long integer that contains the current progress of the bind operation relative to the expected maximum indicated in the ulProgressMax parameter.
ulProgressMax
[in] Unsigned long integer that contains the expected maximum value of the ulProgress parameter for the duration of calls to IBindStatusCallback::OnPro
ulStatusCode
[in] Unsigned long integer that receives additional information regarding the progress of the bind operation. This can be any of the BINDSTATUS values.
szStatusText
[in] Address of a string value that contains the textual information indicating the current progress of the bind operation. The text reflects the BINDSTATUS value of the ulStatusCode parameter and is appropriate for display in the user interface of the client.
ASKER
Hi
Thanks for the reply.
This is all very useful info, but I still don't know how to implement with the URLDownloadToFile function...
Thanks.
Thanks for the reply.
This is all very useful info, but I still don't know how to implement with the URLDownloadToFile function...
Thanks.
You need to write a component(object) with IBindStatusCallBack interface.
And give the interface to URLDownloadToFile.
If I'm not mistaken you'll get notifications to the component(object).
And give the interface to URLDownloadToFile.
If I'm not mistaken you'll get notifications to the component(object).
ASKER
Any ideas on how to do this??
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
rynoster, didn't I help you? You think that I've not earned some points?
ASKER
Hey Gloomyfair.
Thanx for all ur comments, and, not 2 b rude or anything, but it didn't help me much.
But don't worry, there's always a next time.
Sorry.
Thanx to Geo for helping me!!
Thanx for all ur comments, and, not 2 b rude or anything, but it didn't help me much.
But don't worry, there's always a next time.
Sorry.
Thanx to Geo for helping me!!
hth, pritaeas
pritaeas@hotmail.com