[ComImport]
[Guid("EBBC7C04-315E-11d2-B62F-006097DF5BD4")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IProgressDialog
{
void StartProgressDialog(
/*HWND */ IntPtr hwndParent,
[MarshalAs(UnmanagedType.IUnknown)] /*IUnknown* */ object punkEnableModless,
/*DWORD */ PROGDLG dwFlags,
/*LPCVOID */ IntPtr pvResevered
);
void StopProgressDialog();
void SetTitle(
[MarshalAs(UnmanagedType.LPWStr)] /*LPCWSTR */ string pwzTitle
);
void SetAnimation(
/*HINSTANCE */ IntPtr hInstAnimation,
/*UINT */ ushort idAnimation
);
[PreserveSig]
[return: MarshalAs(UnmanagedType.Bool)]
bool HasUserCancelled();
void SetProgress(
/*DWORD */ uint dwCompleted,
/*DWORD */ uint dwTotal
);
void SetProgress64(
/*ULONGLONG */ ulong ullCompleted,
/*ULONGLONG */ ulong ullTotal
);
void SetLine(
/*DWORD */ uint dwLineNum,
[MarshalAs(UnmanagedType.LPWStr)]/*LPCWSTR */ string pwzString,
[MarshalAs(UnmanagedType.VariantBool)]/*BOOL */ bool fCompactPath,
/*LPCVOID */ IntPtr pvResevered
);
void SetCancelMsg(
[MarshalAs(UnmanagedType.LPWStr)]/*LPCWSTR */ string pwzCancelMsg,
/*LPCVOID */ object pvResevered
);
void Timer(
/*DWORD */ PDTIMER dwTimerAction,
/*LPCVOID */ object pvResevered
);
}
This interface is exported by the progress dialog box object (CLSID_ProgressDialog). This object is a generic way to show a user how an operation is progressing. It is typically used when deleting, uploading, copying, moving, or downloading large numbers of files.