Win32 API 日本語リファレンス
ホームNetworking.DeliveryOptimization › IDODownload

IDODownload

COM
IIDfbbd7fc0-c147-4727-a38d-827ef071ee77継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

ダウンロードの開始と管理に使用します。

メソッド 7

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT Start(DO_DOWNLOAD_RANGES_INFO* ranges)

ダウンロードを開始、または再開します。

rangesDO_DOWNLOAD_RANGES_INFO*in省略可能。DO_DOWNLOAD_RANGES_INFO 構造体へのポインター (ファイルの特定の範囲のみをダウンロードする場合に指定します)。ここで渡す値によって、ダウンロードがファイル全体を対象とするのか、ファイル内の一部の範囲を対象とするのか、あるいは範囲情報を変更せずに単にダウンロードを再開するのかが決まります。ファイル全体のダウンロードを要求するには、空の DO_DOWNLOAD_RANGES_INFO 構造体 (つまり RangeCount メンバーが 0 に設定されたもの) へのポインターを渡します。ファイルの一部のダウンロードを要求するには、空でない DO_DOWNLOAD_RANGES_INFO 構造体へのポインターを渡します。nullptr を渡せるのは、空または空でない範囲を指定してダウンロードが既に一度開始されている場合のみで、要求された範囲を変更せずにダウンロードを再開する必要があることを示します。

戻り値

関数が成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコード を返します。

vtbl 4 HRESULT Pause()

ダウンロードを一時停止します。

戻り値

関数が成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコード を返します。

vtbl 5 HRESULT Abort()

ダウンロードを中止します。

戻り値

関数が成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコード を返します。

vtbl 6 HRESULT Finalize()

ダウンロードを完了 (ファイナライズ) します。

戻り値

関数が成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコード を返します。

vtbl 7 HRESULT GetStatus(DO_DOWNLOAD_STATUS* status)

IDODownload::GetStatus は、ダウンロードの現在の状態を反映する DO_DOWNLOAD_STATUS 構造体へのポインターを取得します。

statusDO_DOWNLOAD_STATUS*outDO_DOWNLOAD_STATUS 構造体へのポインター。

戻り値

関数が成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコード を返します。

vtbl 8 HRESULT GetProperty(DODownloadProperty propId, VARIANT* propVal)

特定のダウンロードプロパティを格納した VARIANT へのポインターを取得します。

propIdDODownloadPropertyin取得する対象のプロパティ ID (DODownloadProperty 型)。
propValVARIANT*out取得されたプロパティ値。VARIANT に格納されます。

戻り値

関数が成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコード を返します。

戻り値 説明
DO_E_UNKNOWN_PROPERTY_ID propId が不明です。
DO_E_WRITE_ONLY_PROPERTY プロパティは書き込み専用であり、読み取ることはできません。
E_NOT_SET 該当するプロパティが SetProperty で設定されていません。
vtbl 9 HRESULT SetProperty(DODownloadProperty propId, VARIANT* propVal)

ダウンロードプロパティを設定します。

propIdDODownloadPropertyin設定する対象のプロパティ ID (DODownloadProperty 型)。
propValVARIANT*in設定するプロパティ値。VARIANT に格納します。

戻り値

関数が成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコード を返します。

戻り値 説明
DO_E_UNKNOWN_PROPERTY_ID propId が不明です。
DO_E_INVALID_STATE ダウンロードが現在、プロパティの設定を許可する状態にありません。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IDODownload "{FBBD7FC0-C147-4727-A38D-827EF071EE77}"
#usecom global IDODownload IID_IDODownload "{}"
#comfunc global IDODownload_Start        3 var
#comfunc global IDODownload_Pause        4
#comfunc global IDODownload_Abort        5
#comfunc global IDODownload_Finalize     6
#comfunc global IDODownload_GetStatus    7 var
#comfunc global IDODownload_GetProperty  8 int,var
#comfunc global IDODownload_SetProperty  9 int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。