WinHttpSetDefaultProxyConfiguration 関数 (winhttp.h)

重要

Windows 8.1 以降では、WinHttpSetDefaultProxyConfiguration の使用は非推奨となりました。 ほとんどのプロキシ構成は WinHttpSetDefaultProxyConfiguration ではサポートされておらず、プロキシ認証もサポートされていません。 代わりに、WinHttpOpenでWINHTTP_ACCESS_TYPE_AUTOMATIC_PROXYを使用します。

WinHttpSetDefaultProxyConfiguration 関数は、レジストリの既定の WinHTTP プロキシ構成を設定します。

構文

WINHTTPAPI BOOL WinHttpSetDefaultProxyConfiguration(
  [in] WINHTTP_PROXY_INFO *pProxyInfo
);

パラメーター

[in] pProxyInfo

既定のプロキシ構成を指定する WINHTTP_PROXY_INFO 型の変数へのポインター。

戻り値

成功した場合は TRUE 、それ以外の場合 は FALSE を 返します。 拡張エラー情報については、 GetLastError を呼び出します。 返されるエラー コードの中には、次のエラー コードがあります。

エラー コード 説明
ERROR_WINHTTP_INTERNAL_ERROR
内部エラーが発生しました。
ERROR_NOT_ENOUGH_MEMORY
要求された操作を完了するのに十分なメモリが使用できませんでした。 (Windows エラー コード)

注釈

WinHttpSetDefaultProxyConfiguration によって設定された既定のプロキシ構成は、WinHttpSetOption を呼び出し、WINHTTP_OPTION_PROXY フラグを指定することで、既存の WinHTTP セッションでオーバーライドできます。 WinHttpOpen 関数を使用して構成を指定することで、新しいセッションの既定のプロキシ構成をオーバーライドできます。

プロキシが指定されている場合は、pProxyInfo によって指されるWINHTTP_PROXY_INFO構造体の dwAccessType メンバーをWINHTTP_ACCESS_TYPE_NAMED_PROXYに設定する必要があります。 それ以外の場合は、 WINHTTP_ACCESS_TYPE_DEFAULT_PROXYに設定する必要があります。

この関数を呼び出した後に作成された新しいセッションでは、新しい既定のプロキシ構成が使用されます。

WinHTTP が非同期モードで使用されている場合 (つまり、WinHttpOpenWINHTTP_FLAG_ASYNCが設定されている場合)、この関数は同期的に動作します。 戻り値は、成功または失敗を示します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

メモ Windows XP および Windows 2000 の場合は、WinHTTP スタート ページの 「ランタイム要件 」セクションを参照してください。
 

次のコード例は、レジストリで既定のプロキシ構成を設定する方法を示しています。

WINHTTP_PROXY_INFO proxyInfo;

// Allocate memory for string members.
proxyInfo.lpszProxy = new WCHAR[25];
proxyInfo.lpszProxyBypass = new WCHAR[25];

// Set the members of the proxy info structure.
proxyInfo.dwAccessType = WINHTTP_ACCESS_TYPE_NAMED_PROXY;
swprintf_s(proxyInfo.lpszProxy, 25, L"proxy_server");
swprintf_s(proxyInfo.lpszProxyBypass, 25, L"<local>");

// Set the default proxy configuration.
if (WinHttpSetDefaultProxyConfiguration( &proxyInfo ))
    printf("Proxy Configuration Set.\n");

// Free memory allocated to the strings.
delete [] proxyInfo.lpszProxy;
delete [] proxyInfo.lpszProxyBypass;

要件

要件
サポートされている最小のクライアント Windows XP、Windows 2000 Professional sp3 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003、Windows 2000 Server SP3 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winhttp.h
Library Winhttp.lib
[DLL] Winhttp.dll
再頒布可能パッケージ Windows XP および Windows 2000 で WinHTTP 5.0 およびインターネット エクスプローラー 5.01 以降。

こちらもご覧ください

WinHTTP バージョン

WinHttpGetDefaultProxyConfiguration