次の方法で共有


IBitsTokenOptions::SetHelperTokenFlags メソッド (bits4_0.h)

BITS 転送ジョブに関連付けられているトークンの使用フラグを設定します。

構文

HRESULT SetHelperTokenFlags(
  DWORD UsageFlags
);

パラメーター

UsageFlags

使用フラグを指定します。 このパラメーターは、次のいずれかの値に設定する必要があります。

意味
BG_TOKEN_LOCAL_FILE
0x0001
このフラグを指定すると、ヘルパー トークンが使用されます
  • アップロード ジョブのローカル ファイルを開くには
  • ダウンロード ジョブの一時ファイルを作成または名前変更するには
  • アップロード/応答ジョブの応答ファイルを作成または名前変更するには
BG_TOKEN_NETWORK
0x0002
このフラグを指定すると、ヘルパー トークンが使用されます
  • サーバー メッセージ ブロック (SMB) のアップロードまたはダウンロード ジョブのリモート ファイルを開くには
  • 暗黙的な NTLM または Kerberos 資格情報に対する HTTP サーバーまたはプロキシのチャレンジへの応答
アプリケーションで IBackgroundCopyJob2::SetCredentials (..., NULL, NULL) を呼び出して、資格情報を HTTP 経由で送信できるようにする必要があります。

戻り値

このメソッドは、成功すると 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

こちらもご覧ください

IBitsTokenOptions