次の方法で共有


IBackgroundCopyJob::SetProxySettings メソッド (bits.h)

ファイルの転送に使用するプロキシを指定します。

構文

HRESULT SetProxySettings(
  [in] BG_JOB_PROXY_USAGE ProxyUsage,
  [in] const WCHAR        *ProxyList,
  [in] const WCHAR        *ProxyBypassList
);

パラメーター

[in] ProxyUsage

ユーザーのプロキシ設定を使用するか、プロキシを使用しないか、アプリケーション指定のプロキシ設定を使用するかを指定します。 既定では、ユーザーのプロキシ設定 (BG_JOB_PROXY_USAGE_PRECONFIG) を使用します。 プロキシ オプションの一覧については、 BG_JOB_PROXY_USAGE 列挙型を参照してください。

[in] ProxyList

ファイルの転送に使用するプロキシを含む null で終わる文字列。 リストはスペース区切りです。 プロキシの指定の詳細については、「解説」を参照してください。

ProxyUsage の値がBG_JOB_PROXY_USAGE_PRECONFIGBG_JOB_PROXY_USAGE_NO_PROXY、またはBG_JOB_PROXY_USAGE_AUTODETECTの場合、このパラメーターは NULL である必要があります。

プロキシ リストの長さは、null ターミネータを含まない 4,000 文字に制限されています。

[in] ProxyBypassList

プロキシをバイパスできるホスト名、IP アドレス、またはその両方の省略可能なリストを含む Null で終わる文字列。 リストはスペース区切りです。 バイパス プロキシの指定の詳細については、「解説」を参照してください。

ProxyUsage の値がBG_JOB_PROXY_USAGE_PRECONFIGBG_JOB_PROXY_USAGE_NO_PROXY、またはBG_JOB_PROXY_USAGE_AUTODETECTの場合、このパラメーターは NULL である必要があります。

プロキシ バイパス リストの長さは、null 終端記号を含まない 4,000 文字に制限されています。

戻り値

このメソッドは、次の HRESULT 値と他の値を返します。

リターン コード Description
S_OK
プロキシが正常に指定されました。
E_NOTIMPL
ProxyUsage の値は、BG_JOB_PROXY_USAGE列挙型で定義されていません。
BG_E_PROXY_LIST_TOO_LARGE
pProxyList バッファーは 32 KB を超えることはできません。
BG_E_PROXY_BYPASS_LIST_TOO_LARGE
pProxyBypassList は 32 KB を超えることはできません。
BG_E_INVALID_STATE
ジョブの状態を BG_JOB_STATE_CANCELLED または BG_JOB_STATE_ACKNOWLEDGEDすることはできません。
E_INVALIDARG
ProxyUsageBG_JOB_PROXY_USAGE_OVERRIDE場合、pProxyList パラメーターを NULL にすることはできません。

注釈

指定したプロキシ情報は、実行時に検証されます。 プロキシ情報が無効な場合、ジョブは BG_E_INVALID_PROXY_INFO エラー コードで BG_JOB_STATE_ERROR 状態になります。

サービスが LocalSystem として実行されている場合は、 SetProxySettings メソッドを使用して、アカウントのプロキシまたはプロキシ バイパス リストを明示的に指定し 、ProxyUsageBG_JOB_PROXY_USAGE_OVERRIDE に設定する必要があります。 BITS でシステム アカウントを使用する方法の詳細については、「 サービス アカウントと BITS」を参照してください。

BITS は、Proxycfg.exe ファイルを使用して設定されたプロキシ設定を認識しません。

プロキシを次のように指定します。

"[protocol=][protocol"://"]server[":"port]"

有効なプロトコルは HTTP と HTTPS です。 プロキシ リストには、プロキシへのアクセスに使用されるポート番号を含めることができます。 たとえば、HTTP プロキシを一覧表示する場合、有効な文字列は "http=http://http_proxy_name:80" です。ここで、 http_proxy_name はプロキシ サーバーの名前、80 はプロキシへのアクセスに使用する必要があるポート番号です。 プロキシがそのプロトコルの既定のポート番号を使用している場合は、ポート番号を省略できます。 プロキシ名が単独で一覧表示されている場合は、指定したプロキシを持たないプロトコルの既定のプロキシとして使用できます。 たとえば、"http=http://http_proxy other_proxy" では HTTP 操作にhttp_proxyが使用されますが、HTTPS プロトコルでは other_proxy という名前のプロキシが使用されます。

ローカルで既知のホスト名またはインターネット プロトコル (IP) アドレスをプロキシ バイパス リストに一覧表示できます。 この名前には、""" などのワイルドカードを含めることができます。これにより、アプリケーションは、指定したパターンに適合するアドレス (".microsoft.com" や ".org" など) に対してプロキシ サーバーをバイパスします。ワイルドカード文字は、名前の左端の文字である必要があります。たとえば、"aaa." とします。はサポートされていません。 <local> マクロを指定して、すべてのローカル イントラネット サイトがバイパスされることを示すことができます。 ローカル イントラネット サイトは、名前にピリオドが含まれていないすべてのサーバーと見なされます。

アプリケーションでプロキシの使用法が指定されていない場合、BITS はユーザーの Internet Explorer プロキシ設定を使用します。 通常、この既定の動作は、アプリケーションが対話型ユーザーのコンテキストでジョブを送信した場合に機能しますが、LocalSystem として実行されているサービスがジョブを送信した場合は動作しない可能性があります。 LocalSystem の Internet Explorer プロキシ設定を指定できます。ただし、問題が発生したときにこれらの設定を検出することは困難です。

Requirements

Requirement 価値
サポートされる最小クライアント Windows XP
サポートされている最小のサーバー Windows Server 2003
ターゲット プラットフォーム ウィンドウズ
Header bits.h
Library Bits.lib
DLL QmgrPrxy.dll

こちらも参照ください

BG_JOB_PROXY_USAGE

IBackgroundCopyJob::GetProxySettings