次の方法で共有


InternetConnectA 関数 (wininet.h)

特定のサイトのファイル転送プロトコル (FTP) または HTTP セッションを開きます。

構文

HINTERNET InternetConnectA(
  [in] HINTERNET     hInternet,
  [in] LPCSTR        lpszServerName,
  [in] INTERNET_PORT nServerPort,
  [in] LPCSTR        lpszUserName,
  [in] LPCSTR        lpszPassword,
  [in] DWORD         dwService,
  [in] DWORD         dwFlags,
  [in] DWORD_PTR     dwContext
);

パラメーター

[in] hInternet

InternetOpenへの以前の呼び出しによって返されたハンドル。

[in] lpszServerName

インターネット サーバーのホスト名を指定する null終了文字列へのポインター。 または、文字列にはサイトの IP 番号を ASCII ドット 10 進形式 (11.0.1.45 など) で含めることができます。

[in] nServerPort

サーバー上の伝送制御プロトコル/インターネット プロトコル (TCP/IP) ポート。 これらのフラグは、使用されるポートのみを設定します。 サービスは、dwService値によって設定されます。 このパラメーターには、次のいずれかの値を指定できます。

価値 意味
INTERNET_DEFAULT_FTP_PORT
FTP サーバーの既定のポート (ポート 21) を使用します。
INTERNET_DEFAULT_GOPHER_PORT
Gopher サーバーの既定のポート (ポート 70) を使用します。
Windows XP および Windows Server 2003 R2 以前のバージョンのみを 注意してください。
 
INTERNET_DEFAULT_HTTP_PORT
HTTP サーバーの既定のポート (ポート 80) を使用します。
INTERNET_DEFAULT_HTTPS_PORT
セキュリティで保護されたハイパーテキスト転送プロトコル (HTTPS) サーバー (ポート 443) の既定のポートを使用します。
INTERNET_DEFAULT_SOCKS_PORT
SOCKS ファイアウォール サーバーの既定のポート (ポート 1080) を使用します。
INTERNET_INVALID_PORT_NUMBER
dwServiceで指定されたサービス 既定のポートを使用します。

[in] lpszUserName

ログオンするユーザーの名前を指定する null-terminated 文字列へのポインター。 このパラメーターが NULL場合、関数は適切な既定値を使用します。 FTP プロトコルの場合、既定値は "anonymous" です。

[in] lpszPassword

ログオンに使用するパスワードを含む null-terminated 文字列へのポインター。 lpszPassword と lpszUsername の両方が NULL場合、この関数は既定の "匿名" パスワードを使用します。 FTP の場合、既定のパスワードはユーザーの電子メール名です。 lpszPassword が NULLlpszUsername が NULLでない場合、関数は空白のパスワードを使用します。

[in] dwService

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

価値 意味
INTERNET_SERVICE_FTP
FTP サービス。
INTERNET_SERVICE_GOPHER
Gopher サービス。
Windows XP および Windows Server 2003 R2 以前のバージョンのみを 注意してください。
 
INTERNET_SERVICE_HTTP
HTTP サービス。

[in] dwFlags

使用されるサービスに固有のオプション。 もし
dwService がINTERNET_SERVICE_FTP INTERNET_FLAG_PASSIVE アプリケーションでパッシブ FTP セマンティクスが使用されます。

[in] dwContext

コールバックで返されるハンドルのアプリケーション コンテキストを識別するために使用されるアプリケーション定義値を含む変数へのポインター。

戻り値

接続が成功した場合はセッションへの有効なハンドルを返します。それ以外の場合は NULL 返します。 拡張エラー情報を取得するには、GetLastError呼び出します。 アプリケーションでは、InternetGetLastResponseInfo 使用して、サービスへのアクセスが拒否された理由を判断することもできます。

備考

次の表では、lpszUsername と lpszPasswordの 4 つの設定 の動作について説明します。

lpszUsername を する lpszPassword を する FTP サーバーに送信されたユーザー名 FTP サーバーに送信されたパスワード
NULL NULL "anonymous" ユーザーのメール名
以外の NULL 文字列 NULL lpszUsername を する ""
NULL 以外の NULL 文字列 エラー エラー
以外の NULL 文字列 以外の NULL 文字列 lpszUsername を する lpszPassword を する
 

FTP サイトの場合、InternetConnect は実際にサーバーとの接続を確立します。他のユーザーの場合、アプリケーションが特定のトランザクションを要求するまで、実際の接続は確立されません。

効率を最大限に高めるために、HTTP プロトコルを使用するアプリケーションでは、InternetConnect への呼び出し 最小限に抑え、ユーザーが要求するすべてのトランザクションに対してこの関数を呼び出さないようにする必要があります。 これを実現する 1 つの方法は、InternetConnectから返されるハンドルの小さなキャッシュを保持することです。ユーザーが以前にアクセスしたサーバーに対して要求を行った場合、そのセッション ハンドルは引き続き使用できます。

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

要求が送信された場合 (InternetOpendwFlags パラメーターで INTERNET_FLAG_ASYNCを指定)、dwContext パラメーターが 0 (INTERNET_NO_CALLBACK) の場合、接続ハンドル InternetSetStatusCallback で設定されたコールバック関数は呼び出されませんが、呼び出しは非同期モードで実行されます。

InternetConnect の使用例については、次のトピックを参照してください。

  • 認証 を処理する
  • 非同期のサンプル アプリケーション の

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

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

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー wininet.h
ライブラリ Wininet.lib
DLL Wininet.dll

関連項目

インターネット機能 を有効にする

WinINet Functions の