次の方法で共有


IUpdateDownloaderEx::BeginDownload2 メソッド (wuapi.h)

大事な

一部の情報は、市販される前に大幅に変更される可能性があるプレリリース製品に関連しています。 Microsoft は、ここで提供される情報に関して明示的または黙示的な保証を行いません。

更新プログラムに関連付けられているコンテンツ ファイルの非同期ダウンロードを開始します。

構文

HRESULT BeginDownload2(
  DownloadType downloadType,
  IUnknown     *onProgressChanged,
  IUnknown     *onCompleted,
  VARIANT      state,
  IDownloadJob **retval
);

パラメーター

downloadType

DownloadType の値、実行するダウンロードの種類、完全なダウンロード、または更新ブートストラップのみをダウンロードすることを指定します。

手記

含まれていない更新プログラムの更新ブートストラップをダウンロードしようとすると、エラー コード WU_E_NOT_SUPPORTEDで失敗します。

onProgressChanged

IDownloadProgressChangedCallback インターフェイス。ダウンロードが完了する前に、ダウンロードの進行状況の変更のために定期的に呼び出されます。

onCompleted

IDownloadCompletedCallback 非同期ダウンロード操作が完了したときに呼び出されるインターフェイスです。

state

IDownloadJob インターフェイスの AsyncState プロパティが返す呼び出し元固有の状態。 呼び出し元は、このパラメーターを使用して、ダウンロード ジョブ オブジェクトに値をアタッチできます。 これにより、呼び出し元は、そのダウンロード ジョブ オブジェクトに関するカスタム情報を後で取得できます。

手記

   IDownloadJob インターフェイスの AsyncState プロパティは取得できますが、設定することはできません。 これにより、呼び出し元は、IDownloadJob インターフェイスの AsyncState プロパティに既に設定されているオブジェクトの内容を変更できません。 つまり、AsyncState プロパティに数値が含まれている場合、数値を変更することはできません。 ただし、AsyncState プロパティにセーフ 配列またはオブジェクトが含まれている場合は、セーフ配列またはオブジェクトの内容を変更できます。 この値は、呼び出し元が IUpdateDownloader::EndDownload呼び出すことによって IDownloadJob 解放されます。

retval

IDownloadJob 開始したダウンロード操作で使用できるプロパティとメソッドを含むインターフェイスです。

戻り値

次のいずれかの値を含む HRESULT

価値 形容
S_OK 成功。
WU_E_INVALID_OPERATION コンピューターは更新サイトにアクセスできません。
WU_E_NO_UPDATE Windows Update エージェント (WUA) には、コレクション内の更新プログラムがありません。
WU_E_NOT_INITIALIZED Windows Update エージェント (WUA) が初期化されていません。
WU_E_NOT_SUPPORTED 更新ブートストラップのダウンロードは、更新プログラムが含まれていない更新プログラムで試行されました。

備考

IDownloadProgressChangedCallback インターフェイスを実装する代わりに、スクリプトを使用して、オートメーション オブジェクトに DISPID 0 を持つ任意の識別子のコールバック ルーチンを実装できます。 onProgressChanged パラメーターの型は IUnknownです。

IDownloadCompletedCallback インターフェイスを実装する代わりに、スクリプトを使用して、オートメーション オブジェクトに DISPID 0 を持つ任意の識別子のコールバック ルーチンを実装できます。 onCompleted パラメーターの型は IUnknownです。

このメソッドは、インターフェイスを実装しているオブジェクトがロックダウンされている場合に WU_E_INVALID_OPERATION を返します。

このメソッドは、IUpdateDownloader インターフェイスの Updates プロパティが設定されていない場合に WU_E_NO_UPDATE を返します。 このメソッドは、Updates プロパティが空のコレクションに設定されている場合も、WU_E_NO_UPDATE を返します。

ダウンロード ジョブに更新プログラムが含まれている場合、このメソッドは SUS_E_NOT_INITIALIZED を返します。

アプリで非同期 WUA API を使用する場合は、タイムアウト メカニズムの実装が必要になる場合があります。 非同期 WUA 操作を実行する方法の詳細については、「非同期 WUA 操作の ガイドライン」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 11 ビルド 26100
ヘッダー wuapi.h