IBitsTokenOptions::SetHelperTokenFlags メソッド (bits4_0.h)
BITS 転送ジョブに関連付けられているトークンの使用フラグを設定します。
構文
HRESULT SetHelperTokenFlags(
DWORD UsageFlags
);
パラメーター
UsageFlags
使用フラグを指定します。 このパラメーターは、次のいずれかの値に設定する必要があります。
値 | 意味 |
---|---|
|
このフラグを指定すると、ヘルパー トークンが使用されます
|
|
このフラグを指定すると、ヘルパー トークンが使用されます
|
戻り値
このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。
注釈
ヘルパー トークンの使用フラグは、ヘルパー トークンのセキュリティ コンテキストを使用してアクセスするリソースを指定します。 BITS は、ジョブ所有者のセキュリティ コンテキストを使用して、他のすべてのリソースにアクセスします。 たとえば、クライアント証明書には、ジョブ所有者 ID を使用してアクセスします。
クライアント証明書が指定されていて、BITS ジョブの所有者が LocalSystem アカウントでない場合、 UsageFlag パラメーターを BG_TOKEN_NETWORK に設定すると、エラー コード 0x80072f9a (ERROR_WINHTTP_CLIENT_CERT_NO_ACCESS_PRIVATE_KEY) でジョブが失敗します。
以前の実装では、このメソッドでヘルパー トークン使用フラグを設定するために、BITS ユーザーに管理者権限が実質的に必要でした。 バージョン 1607 Windows 10以降、管理者以外の BITS ユーザーは、このメソッドを使用して、自分が所有する BITS ジョブに管理者以外のヘルパー トークン使用フラグを設定できます。 この変更により、管理者以外の BITS ユーザー ( NetworkService アカウントで実行されているバックグラウンド ダウンローダー サービスなど) がヘルパー トークンを効果的に使用できるようになります。
具体的には、 IBackgroundCopyJob::QueryInterface 呼び出し中に呼び出し元のスレッドのトークンの SID がジョブ所有者のユーザー アカウントの SID と同じであり、現在設定されているヘルパー トークン (存在する場合) に管理者 SID (DOMAIN_ALIAS_RID_ADMINS) が有効になっていない限り、管理者特権を持たないユーザーがヘルパー トークン使用フラグを設定できるように実装が変更されました。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 |
サポートされている最小のサーバー | Windows Server 2008 R2 |
対象プラットフォーム | Windows |
ヘッダー | bits4_0.h |
再頒布可能パッケージ | SP1 を使用した Windows Vista、SP2 を使用した Windows Vista、SP2 を使用した Windows Server 2008 のWindows Management Framework |