次の方法で共有


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 値と他の値を返します。

リターン コード 説明
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." とします。はサポートされていません。 ローカル> マクロを<指定して、すべてのローカル イントラネット サイトがバイパスされることを示すことができます。 ローカル イントラネット サイトは、名前にピリオドが含まれていないすべてのサーバーと見なされます。

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

要件

要件
サポートされている最小のクライアント Windows XP
サポートされている最小のサーバー Windows Server 2003
対象プラットフォーム Windows
ヘッダー bits.h
Library Bits.lib
[DLL] QmgrPrxy.dll

こちらもご覧ください

BG_JOB_PROXY_USAGE

IBackgroundCopyJob::GetProxySettings