IUpdateDownloader::BeginDownload メソッド (wuapi.h)
更新プログラムに関連付けられているコンテンツ ファイルの非同期ダウンロードを開始します。
構文
HRESULT BeginDownload(
[in] IUnknown *onProgressChanged,
[in] IUnknown *onCompleted,
[in] VARIANT state,
[out] IDownloadJob **retval
);
パラメーター
[in] onProgressChanged
ダウンロードが完了する前にダウンロードの進行状況の変更のために定期的に呼び出 される IDownloadProgressChangedCallback インターフェイス。
[in] onCompleted
非同期ダウンロード操作が完了したときに呼び出 される IDownloadCompletedCallback インターフェイス (C++/COM)。
[in] state
IDownloadJob インターフェイスの AsyncState プロパティが返す呼び出し元固有の状態。 呼び出し元は、このパラメーターを使用して、ダウンロード ジョブ オブジェクトに値をアタッチできます。 これにより、呼び出し元はそのダウンロード ジョブ オブジェクトに関するカスタム情報を後で取得できます。
IDownloadJob インターフェイスの AsyncState プロパティは取得できますが、設定することはできません。 これにより、呼び出し元が IDownloadJob インターフェイスの AsyncState プロパティに既に設定されているオブジェクトの内容を変更できなくなります。 つまり、 AsyncState プロパティに数値が含まれている場合、数値を変更することはできません。 ただし、 AsyncState プロパティに安全な配列またはオブジェクトが含まれている場合は、セーフ配列またはオブジェクトの内容を変更できます。 この値は、呼び出し元が IUpdateDownloader::EndDownload を 呼び出して IDownloadJob を解放すると解放されます。
[out] retval
開始したダウンロード操作で使用できるプロパティとメソッドを含む IDownloadJob インターフェイス。
戻り値
成功した場合 はS_OK を返します。 それ以外の場合は、COM または Windows のエラー コードを返します。
このメソッドは、次のエラー コードを返すこともできます。
リターン コード | 説明 |
---|---|
|
コンピューターは更新サイトにアクセスできません。 |
|
Windows Update エージェント (WUA) には、コレクションに更新プログラムがありません。 |
|
Windows Update エージェント (WUA) が初期化されていません。 |
注釈
IDownloadProgressChangedCallback インターフェイスを実装する代わりに、スクリプトを使用して、オートメーション オブジェクトに DISPID 0 を持つ任意の識別子のコールバック ルーチンを実装できます。 onProgressChanged パラメーターの型は IUnknown* です。
IDownloadCompletedCallback インターフェイスを実装する代わりに、スクリプトを使用して、オートメーション オブジェクトに DISPID 0 を持つ任意の識別子のコールバック ルーチンを実装できます。 onCompleted パラメーターの型は IUnknown* です。
インターフェイスを実装しているオブジェクトがロックダウンされている場合、このメソッドは WU_E_INVALID_OPERATION を返します。
IUpdateDownloaderインターフェイスの 更新 プロパティが設定されていない場合、このメソッドはWU_E_NO_UPDATEを返します。 このメソッドは、更新 プロパティが空のコレクションに設定されている場合も、WU_E_NO_UPDATEを返します。
ダウンロード ジョブに更新 プログラムが 含まれない場合、このメソッドはSUS_E_NOT_INITIALIZEDを返します。
アプリで非同期 WUA API を使用する場合は、タイムアウト メカニズムを実装する必要がある場合があります。 非同期 WUA 操作を実行する方法の詳細については、「非同期 WUA 操作のガイドライン」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP、Windows 2000 Professional SP3 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003、Windows 2000 Server SP3 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wuapi.h |
Library | Wuguid.lib |
[DLL] | Wuapi.dll |