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

BITS_JOB_PROPERTY_ID

列挙型
基底型i4

メンバー 8

名前10進16進説明
BITS_JOB_PROPERTY_ID_COST_FLAGS10x1

セルラー ネットワークやそれに類するネットワーク上での転送動作を制御するために使用される ID です。このプロパティは転送中でも変更でき、新しいコスト フラグは直ちに有効になります。

このプロパティは BITS_JOB_PROPERTY_VALUEDWORD フィールドを使用します。

BITS_JOB_PROPERTY_NOTIFICATION_CLSID20x2

BITS ジョブの進行状況および完了に関する通知を受け取るために、CLSID によって COM コールバックを登録するために使用される ID です。CLSID は、登録済みのアウトオブプロセス COM サーバーに関連付けられたクラスを参照していなければなりません。GUID_NULL を設定して、以前に設定した通知 CLSID をクリアすることもできます。

このプロパティは BITS_JOB_PROPERTY_VALUECLsID フィールドを使用します。

BITS_JOB_PROPERTY_DYNAMIC_CONTENT30x3

HEAD 要求、Content-Length ヘッダー、Content-Range ヘッダーといった通常の BITS ダウンロードの HTTP 要件をサポートしないコンテンツのダウンロードを許可するものとして、BITS ジョブをマークするための ID です。この種類のコンテンツのダウンロードはオプトインです。これらのサポートがない場合、BITS はダウンロード ジョブを一時停止して再開できないためです。このプロパティを有効にしたジョブが、一時的なネットワーク接続の切断やシステムの再起動など何らかの理由で中断された場合、BITS は中断した位置から再開せず、ダウンロードを最初からやり直します。また、BITS は動的なダウンロードに対して帯域幅の使用を調整 (スロットル) することもできません。BITS は BG_JOB_PRIORITY_FOREGROUND が割り当てられていないジョブに対してスロットルなしの転送を行わないため、動的コンテンツを許可するジョブを設定する場合は、通常この優先度も併せて設定してください。

このプロパティは BITS_JOB_PROPERTY_VALUEEnable フィールドを使用します。このプロパティは BG_JOB_TYPE_DOWNLOAD ジョブでのみサポートされます。FILE_RANGES を使用するダウンロードではサポートされません。このプロパティは、ジョブに対して Resume が最初に呼び出される前にのみ設定できます。

BITS_JOB_PROPERTY_HIGH_PERFORMANCE40x4

強い信頼性の保証を必要としないものとして BITS ジョブをマークするための ID です。 このプロパティを有効にすると、BITS が通常は定期的に行っている、ジョブの通常の進行状況に関する情報の永続化が行われなくなります。転送中に電源喪失などの予期しないシャットダウンが発生した場合、BITS は進行状況を失い、

通常のように中断した位置から再開するのではなく、ジョブを最初からやり直します。ただし、ジョブの存続期間全体で BITS が行うディスク書き込みの回数も減るため、小さなジョブではパフォーマンスが向上する場合があります。

また、このプロパティを指定すると、BITS は一時ファイルにダウンロードして転送完了後に一時ファイルを最終的な宛先へ移動するのではなく、宛先ファイルへ直接ダウンロードします。そのため、ジョブがキャンセルされた場合や致命的なエラー状態が発生した場合でも、BITS は部分的にダウンロードされたコンテンツをクリーンアップしません。宛先ファイルが作成されている場合、そのクリーンアップは BITS の呼び出し側の責任となります。ただし、その分ディスクのオーバーヘッドはわずかに減少します。

このプロパティは、小さなジョブ (1 MB 未満) を多数扱い、電源喪失やその他の予期しないシャットダウンに対する信頼性を必要としないシナリオでのみ推奨されます。ジョブの数が少ない場合や、より大きなジョブの場合、パフォーマンス上の利点は一般に大きくありません。

このプロパティは BITS_JOB_PROPERTY_VALUEEnable フィールドを使用します。このプロパティは BG_JOB_TYPE_DOWNLOAD ジョブでのみサポートされます。このプロパティは、ジョブにファイルを追加する前にのみ設定できます。

BITS_JOB_PROPERTY_MAX_DOWNLOAD_SIZE50x5

BITS ジョブが合計でダウンロードできる最大バイト数を指定するための ID です。このプロパティは、ダウンロードするファイルのサイズを事前に判断できないものの、ダウンロード可能な合計サイズに上限を設けたい場合に、BITS_JOB_PROPERTY_DYNAMIC_CONTENT と組み合わせて使用することを意図しています。

このプロパティは BITS_JOB_PROPERTY_VALUEEnable フィールドを使用します。このプロパティは BG_JOB_TYPE_DOWNLOAD ジョブでのみサポートされます。このプロパティは、ジョブに対して Resume が最初に呼び出される前にのみ設定できます。

BITS_JOB_PROPERTY_USE_STORED_CREDENTIALS70x7

プロキシ サーバーへの要求に既定の資格情報を含めることを許可するものとして BITS ジョブをマークするための ID です。このプロパティを有効にすることは、BITS がユーザーの代わりに行う要求に対して WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUMWinHTTP セキュリティ レベルを設定することと同等です。BITS が保存された資格情報を取得する対象のユーザーは、BITS がネットワーク要求を代行するユーザーと同じです。BITS は通常、ジョブの所有者の資格情報を使用しますが、ネットワークのヘルパー トークンを明示的に指定した場合は、そのネットワーク ヘルパー トークンの資格情報を使用します。

このプロパティは BITS_JOB_PROPERTY_VALUETarget フィールドを使用します。ただし、サポートされるのは BG_AUTH_TARGET_PROXY ターゲットのみです。

BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL_MS90x9

BITS の JobNotification 通知および FileRangesTransferred 通知のタイミングを制御するために使用される ID です。 このプロパティを有効にすると、異なる間隔で通知を受け取ることができます。 このプロパティは転送中でも変更できますが、新しい間隔が直ちに適用されるとは限りません。 既定値は 500 ミリ秒です。

このプロパティは BITS_JOB_PROPERTY_VALUEDWORD フィールドを使用します。

BITS_JOB_PROPERTY_ON_DEMAND_MODE100xA

ジョブをオンデマンド モードにするかどうかを制御するために使用される ID です。オンデマンド ジョブでは、アプリケーションはファイルを先頭から末尾までダウンロードするのではなく、特定の範囲を要求できます。既定値は FALSE で、ジョブはオンデマンドではありません。範囲の要求には IBackgroundCopyFile6::RequestFileRanges メソッドを使用します。

このプロパティは BITS_JOB_PROPERTY_VALUEEnable フィールドを使用します。

BITS_JOB_PROPERTY_ON_DEMAND_MODE ジョブの要件は、転送が BG_JOB_TYPE_DOWNLOAD ジョブでなければならないことです。 また、ジョブは DYNAMIC であってはならず、サーバーは HTTP または HTTPS サーバーであり、範囲指定のサポートに関するサーバー要件をすべて満たしている必要があります。

公式ドキュメント

BITS ジョブのプロパティの ID を指定する定数を定義します。

この列挙型は、BITS_JOB_PROPERTY_VALUE 共用体に格納されている値の型を判別するために使用されます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum BITS_JOB_PROPERTY_ID : int {
    BITS_JOB_PROPERTY_ID_COST_FLAGS = 1,
    BITS_JOB_PROPERTY_NOTIFICATION_CLSID = 2,
    BITS_JOB_PROPERTY_DYNAMIC_CONTENT = 3,
    BITS_JOB_PROPERTY_HIGH_PERFORMANCE = 4,
    BITS_JOB_PROPERTY_MAX_DOWNLOAD_SIZE = 5,
    BITS_JOB_PROPERTY_USE_STORED_CREDENTIALS = 7,
    BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL_MS = 9,
    BITS_JOB_PROPERTY_ON_DEMAND_MODE = 10
} BITS_JOB_PROPERTY_ID;
public enum BITS_JOB_PROPERTY_ID : int
{
    BITS_JOB_PROPERTY_ID_COST_FLAGS = 1,
    BITS_JOB_PROPERTY_NOTIFICATION_CLSID = 2,
    BITS_JOB_PROPERTY_DYNAMIC_CONTENT = 3,
    BITS_JOB_PROPERTY_HIGH_PERFORMANCE = 4,
    BITS_JOB_PROPERTY_MAX_DOWNLOAD_SIZE = 5,
    BITS_JOB_PROPERTY_USE_STORED_CREDENTIALS = 7,
    BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL_MS = 9,
    BITS_JOB_PROPERTY_ON_DEMAND_MODE = 10,
}
Public Enum BITS_JOB_PROPERTY_ID As Integer
    BITS_JOB_PROPERTY_ID_COST_FLAGS = 1
    BITS_JOB_PROPERTY_NOTIFICATION_CLSID = 2
    BITS_JOB_PROPERTY_DYNAMIC_CONTENT = 3
    BITS_JOB_PROPERTY_HIGH_PERFORMANCE = 4
    BITS_JOB_PROPERTY_MAX_DOWNLOAD_SIZE = 5
    BITS_JOB_PROPERTY_USE_STORED_CREDENTIALS = 7
    BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL_MS = 9
    BITS_JOB_PROPERTY_ON_DEMAND_MODE = 10
End Enum
import enum

class BITS_JOB_PROPERTY_ID(enum.IntEnum):
    BITS_JOB_PROPERTY_ID_COST_FLAGS = 1
    BITS_JOB_PROPERTY_NOTIFICATION_CLSID = 2
    BITS_JOB_PROPERTY_DYNAMIC_CONTENT = 3
    BITS_JOB_PROPERTY_HIGH_PERFORMANCE = 4
    BITS_JOB_PROPERTY_MAX_DOWNLOAD_SIZE = 5
    BITS_JOB_PROPERTY_USE_STORED_CREDENTIALS = 7
    BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL_MS = 9
    BITS_JOB_PROPERTY_ON_DEMAND_MODE = 10
// BITS_JOB_PROPERTY_ID
pub const BITS_JOB_PROPERTY_ID_COST_FLAGS: i32 = 1;
pub const BITS_JOB_PROPERTY_NOTIFICATION_CLSID: i32 = 2;
pub const BITS_JOB_PROPERTY_DYNAMIC_CONTENT: i32 = 3;
pub const BITS_JOB_PROPERTY_HIGH_PERFORMANCE: i32 = 4;
pub const BITS_JOB_PROPERTY_MAX_DOWNLOAD_SIZE: i32 = 5;
pub const BITS_JOB_PROPERTY_USE_STORED_CREDENTIALS: i32 = 7;
pub const BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL_MS: i32 = 9;
pub const BITS_JOB_PROPERTY_ON_DEMAND_MODE: i32 = 10;
// BITS_JOB_PROPERTY_ID
const (
	BITS_JOB_PROPERTY_ID_COST_FLAGS int32 = 1
	BITS_JOB_PROPERTY_NOTIFICATION_CLSID int32 = 2
	BITS_JOB_PROPERTY_DYNAMIC_CONTENT int32 = 3
	BITS_JOB_PROPERTY_HIGH_PERFORMANCE int32 = 4
	BITS_JOB_PROPERTY_MAX_DOWNLOAD_SIZE int32 = 5
	BITS_JOB_PROPERTY_USE_STORED_CREDENTIALS int32 = 7
	BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL_MS int32 = 9
	BITS_JOB_PROPERTY_ON_DEMAND_MODE int32 = 10
)
const
  BITS_JOB_PROPERTY_ID_COST_FLAGS = 1;
  BITS_JOB_PROPERTY_NOTIFICATION_CLSID = 2;
  BITS_JOB_PROPERTY_DYNAMIC_CONTENT = 3;
  BITS_JOB_PROPERTY_HIGH_PERFORMANCE = 4;
  BITS_JOB_PROPERTY_MAX_DOWNLOAD_SIZE = 5;
  BITS_JOB_PROPERTY_USE_STORED_CREDENTIALS = 7;
  BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL_MS = 9;
  BITS_JOB_PROPERTY_ON_DEMAND_MODE = 10;
// BITS_JOB_PROPERTY_ID
pub const BITS_JOB_PROPERTY_ID_COST_FLAGS: i32 = 1;
pub const BITS_JOB_PROPERTY_NOTIFICATION_CLSID: i32 = 2;
pub const BITS_JOB_PROPERTY_DYNAMIC_CONTENT: i32 = 3;
pub const BITS_JOB_PROPERTY_HIGH_PERFORMANCE: i32 = 4;
pub const BITS_JOB_PROPERTY_MAX_DOWNLOAD_SIZE: i32 = 5;
pub const BITS_JOB_PROPERTY_USE_STORED_CREDENTIALS: i32 = 7;
pub const BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL_MS: i32 = 9;
pub const BITS_JOB_PROPERTY_ON_DEMAND_MODE: i32 = 10;
const
  BITS_JOB_PROPERTY_ID_COST_FLAGS* = 1
  BITS_JOB_PROPERTY_NOTIFICATION_CLSID* = 2
  BITS_JOB_PROPERTY_DYNAMIC_CONTENT* = 3
  BITS_JOB_PROPERTY_HIGH_PERFORMANCE* = 4
  BITS_JOB_PROPERTY_MAX_DOWNLOAD_SIZE* = 5
  BITS_JOB_PROPERTY_USE_STORED_CREDENTIALS* = 7
  BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL_MS* = 9
  BITS_JOB_PROPERTY_ON_DEMAND_MODE* = 10
enum BITS_JOB_PROPERTY_ID : int {
    BITS_JOB_PROPERTY_ID_COST_FLAGS = 1,
    BITS_JOB_PROPERTY_NOTIFICATION_CLSID = 2,
    BITS_JOB_PROPERTY_DYNAMIC_CONTENT = 3,
    BITS_JOB_PROPERTY_HIGH_PERFORMANCE = 4,
    BITS_JOB_PROPERTY_MAX_DOWNLOAD_SIZE = 5,
    BITS_JOB_PROPERTY_USE_STORED_CREDENTIALS = 7,
    BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL_MS = 9,
    BITS_JOB_PROPERTY_ON_DEMAND_MODE = 10,
}
#define global BITS_JOB_PROPERTY_ID_COST_FLAGS                    0x1
#define global BITS_JOB_PROPERTY_NOTIFICATION_CLSID               0x2
#define global BITS_JOB_PROPERTY_DYNAMIC_CONTENT                  0x3
#define global BITS_JOB_PROPERTY_HIGH_PERFORMANCE                 0x4
#define global BITS_JOB_PROPERTY_MAX_DOWNLOAD_SIZE                0x5
#define global BITS_JOB_PROPERTY_USE_STORED_CREDENTIALS           0x7
#define global BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL_MS 0x9
#define global BITS_JOB_PROPERTY_ON_DEMAND_MODE                   0xA