ホーム › Networking.DeliveryOptimization › IDODownload
IDODownload
COM公式ドキュメント
ダウンロードの開始と管理に使用します。
メソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT Start(DO_DOWNLOAD_RANGES_INFO* ranges)
ダウンロードを開始、または再開します。
| ranges | DO_DOWNLOAD_RANGES_INFO* | in | 省略可能。DO_DOWNLOAD_RANGES_INFO 構造体へのポインター (ファイルの特定の範囲のみをダウンロードする場合に指定します)。ここで渡す値によって、ダウンロードがファイル全体を対象とするのか、ファイル内の一部の範囲を対象とするのか、あるいは範囲情報を変更せずに単にダウンロードを再開するのかが決まります。ファイル全体のダウンロードを要求するには、空の DO_DOWNLOAD_RANGES_INFO 構造体 (つまり RangeCount メンバーが 0 に設定されたもの) へのポインターを渡します。ファイルの一部のダウンロードを要求するには、空でない DO_DOWNLOAD_RANGES_INFO 構造体へのポインターを渡します。nullptr を渡せるのは、空または空でない範囲を指定してダウンロードが既に一度開始されている場合のみで、要求された範囲を変更せずにダウンロードを再開する必要があることを示します。 |
戻り値
vtbl 4 HRESULT Pause()
ダウンロードを一時停止します。
戻り値
vtbl 5 HRESULT Abort()
ダウンロードを中止します。
戻り値
vtbl 6 HRESULT Finalize()
ダウンロードを完了 (ファイナライズ) します。
戻り値
vtbl 7 HRESULT GetStatus(DO_DOWNLOAD_STATUS* status)
IDODownload::GetStatus は、ダウンロードの現在の状態を反映する DO_DOWNLOAD_STATUS 構造体へのポインターを取得します。
| status | DO_DOWNLOAD_STATUS* | out | DO_DOWNLOAD_STATUS 構造体へのポインター。 |
戻り値
vtbl 8 HRESULT GetProperty(DODownloadProperty propId, VARIANT* propVal)
特定のダウンロードプロパティを格納した VARIANT へのポインターを取得します。
| propId | DODownloadProperty | in | 取得する対象のプロパティ ID (DODownloadProperty 型)。 |
| propVal | VARIANT* | 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)
ダウンロードプロパティを設定します。
| propId | DODownloadProperty | in | 設定する対象のプロパティ ID (DODownloadProperty 型)。 |
| propVal | VARIANT* | 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)
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 方式にも切替可。#define global IID_IDODownload "{FBBD7FC0-C147-4727-A38D-827EF071EE77}" #usecom global IDODownload IID_IDODownload "{}" #comfunc global IDODownload_Start 3 sptr #comfunc global IDODownload_Pause 4 #comfunc global IDODownload_Abort 5 #comfunc global IDODownload_Finalize 6 #comfunc global IDODownload_GetStatus 7 sptr #comfunc global IDODownload_GetProperty 8 int,sptr #comfunc global IDODownload_SetProperty 9 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。