InternetOpenA 関数 (wininet.h)

WinINet 関数のアプリケーションの使用を初期化します。

構文

HINTERNET InternetOpenA(
  [in] LPCSTR lpszAgent,
  [in] DWORD  dwAccessType,
  [in] LPCSTR lpszProxy,
  [in] LPCSTR lpszProxyBypass,
  [in] DWORD  dwFlags
);

パラメーター

[in] lpszAgent

WinINet 関数を呼び出すアプリケーションまたはエンティティの名前を指定する null で終わる文字列へのポインター。 この名前は、HTTP プロトコルのユーザー エージェントとして使用されます。

[in] dwAccessType

必要なアクセスの種類。 このパラメーターには、次の値のいずれかを指定できます。

意味
INTERNET_OPEN_TYPE_DIRECT
すべてのホスト名をローカルで解決します。
INTERNET_OPEN_TYPE_PRECONFIG
レジストリからプロキシまたは直接構成を取得します。
INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY
レジストリからプロキシまたは直接構成を取得し、スタートアップ Microsoft JScript またはインターネット セットアップ (INS) ファイルを使用できないようにします。
INTERNET_OPEN_TYPE_PROXY
プロキシ バイパス リストが指定され、解決する名前がプロキシをバイパスしない限り、要求をプロキシに渡します。 この場合、関数は INTERNET_OPEN_TYPE_DIRECT を使用します。

[in] lpszProxy

dwAccessTypeINTERNET_OPEN_TYPE_PROXY に設定してプロキシ アクセスを指定するときに使用するプロキシ サーバーの名前を指定する null で終わる文字列へのポインター。 InternetOpen ではプロキシ名として使用されるため、空の文字列は使用しないでください。 WinINet 関数は、CERN 型プロキシ (HTTP のみ) と TIS FTP ゲートウェイ (FTP のみ) のみを認識します。 Microsoft インターネット エクスプローラーがインストールされている場合、これらの機能は SOCKS プロキシもサポートします。 FTP 要求は、CERN 型プロキシを使用して HTTP 要求に変更するか 、InternetOpenUrl を使用して行うことができます。 dwAccessTypeINTERNET_OPEN_TYPE_PROXY に設定されていない場合、このパラメーターは無視され、NULL である必要があります。 プロキシ サーバーの一覧表示の詳細については、「インターネット機能の有効化」の「プロキシ サーバーの一覧表示」セクションを参照してください。

[in] lpszProxyBypass

dwAccessTypeINTERNET_OPEN_TYPE_PROXY に設定されている場合にプロキシ経由でルーティングしないホスト名または IP アドレスのオプションのリスト、またはその両方を指定する null で終わる文字列へのポインター。 リストにはワイルドカードを含めることができます。 InternetOpen はプロキシ バイパス リストとして使用するため、空の文字列を使用しないでください。 このパラメーターで "<local>" マクロを指定した場合、関数はピリオドを含まないホスト名に対してプロキシをバイパスします。

既定では、WinINet は、ホスト名 "localhost"、"loopback"、"127.0.0.1"、または "[::1]" を使用する要求のプロキシをバイパスします。 通常、リモート プロキシ サーバーではこれらのアドレスが正しく解決されないため、この動作が存在します。インターネット エクスプローラー 9: "<-loopback>" マクロを使用して、プロキシ バイパス リストからローカル コンピューターを削除できます。

dwAccessTypeINTERNET_OPEN_TYPE_PROXY に設定されていない場合、このパラメーターは無視され、NULL である必要があります。

[in] dwFlags

オプション。 このパラメーターは、次の値と組み合わせて使用できます。

意味
INTERNET_FLAG_ASYNC
この関数から返されたハンドルから派生したハンドルに対して非同期要求のみを行います。
INTERNET_FLAG_FROM_CACHE
ネットワーク要求を行いません。 すべてのエンティティがキャッシュから返されます。 要求された項目がキャッシュにない場合は、ERROR_FILE_NOT_FOUNDなどの適切なエラーが返されます。
INTERNET_FLAG_OFFLINE
INTERNET_FLAG_FROM_CACHEと同じです。 ネットワーク要求を行いません。 すべてのエンティティがキャッシュから返されます。 要求された項目がキャッシュにない場合は、ERROR_FILE_NOT_FOUNDなどの適切なエラーが返されます。

戻り値

アプリケーションが後続の WinINet 関数に渡す有効なハンドルを返します。 InternetOpen が失敗した場合、NULL が返されます。 特定のエラー メッセージを取得するには、 GetLastError を呼び出します。

注釈

InternetOpen は、アプリケーションによって呼び出される最初の WinINet 関数です。 インターネット DLL に対して、内部データ構造を初期化し、アプリケーションからの今後の呼び出しに備えることを指示します。 アプリケーションでインターネット関数の使用が完了したら、 InternetCloseHandle を呼び出してハンドルと関連付けられているリソースを解放する必要があります。

アプリケーションは InternetOpen に対して任意の数の呼び出しを行うことができますが、通常は 1 回の呼び出しで十分です。 アプリケーションでは、 InternetOpen インスタンスごとに個別の動作を定義する必要がある場合があります。たとえば、それぞれに構成されているプロキシ サーバーが異なる場合があります。

呼び出し元のアプリケーションで InternetOpen によって返される HINTERNET ハンドルの使用が完了したら、InternetCloseHandle 関数を使用して閉じる必要があります。

WinINet API の他のすべての側面と同様に、この関数を DllMain またはグローバル オブジェクトのコンストラクターとデストラクター内から安全に呼び出すことはできません。

メモ WinINet では、サーバーの実装はサポートされていません。 また、サービスから使用しないでください。 サーバーの実装またはサービスの場合は、 Microsoft Windows HTTP サービス (WinHTTP) を使用します。
 

注意

wininet.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして InternetOpen を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wininet.h
Library Wininet.lib
[DLL] Wininet.dll

こちらもご覧ください

インターネット機能の有効化

WinINet 関数