Windows Update Agent APIの非同期ダウンロード/インストール メソッドを実装しようとしていますが、コールバック クラス (IInstallationProgressChangedCallback
など)の実装に問題があります。
System を使用して機能しない実装クラスの例を次に示します。WUApiLib を使用します。
namespace ConsoleApplication1
{
class DownloadProgressCallback : IDownloadProgressChangedCallback
{
public override void Invoke(IDownloadJob downloadJob, IDownloadProgressChangedCallbackArgs callbackArgs)
{
Console.WriteLine("Do something");
}
}
}
このクラスを含むプロジェクトをコンパイルしようとすると、
ConsoleApplication1.DownloadProgressCallback.Invoke(WUApiLib.IDownloadJob, WUApiLib.IDownloadProgressChangedCallbackArgs)': no suitable method found to override
参考までに、インターフェイスの定義方法 (メタデータ) を次に示します。
#region Assembly Interop.WUApiLib.dll, v2.0.50727
// F:\src\ConsoleApplication1\ConsoleApplication1\obj\x86\Debug\Interop.WUApiLib.dll
#endregion
namespace WUApiLib
{
[InterfaceType(1)]
[Guid("8C3F1CDD-6173-4591-AEBD-A56A53CA77C1")]
[TypeLibType(384)]
public interface IDownloadProgressChangedCallback
{
void Invoke(IDownloadJob downloadJob, IDownloadProgressChangedCallbackArgs callbackArgs);
}
}
私は COM/Interop にあまり詳しくないので、ここで何が間違っているのかわかりません。