CInternetSession クラス

単一のインターネット セッションまたは複数の同時インターネット セッションを作成し、初期化します。必要な場合は、プロキシ サーバーへの接続も記述します。

構文

class CInternetSession : public CObject

メンバー

パブリック コンストラクター

名前 説明
CInternetSession::CInternetSession CInternetSession オブジェクトを構築します。

パブリック メソッド

名前 説明
CInternetSession::Close インターネット セッションが終了したときにインターネット接続を閉じます。
CInternetSession::EnableStatusCallback 状態コールバック ルーチンを確立します。
CInternetSession::GetContext インターネット セッションが終了したときにインターネット接続を閉じます。
CInternetSession::GetCookie 指定した URL とそのすべての親 URL の Cookie を返します。
CInternetSession::GetCookieLength バッファーに格納されている Cookie の長さを指定する変数を取得します。
CInternetSession::GetFtpConnection サーバーとの FTP セッションを開きます。 ユーザーにログオンします。
CInternetSession::GetGopherConnection 接続を開こうとしているアプリケーションの gopher サーバーを開きます。
CInternetSession::GetHttpConnection 接続を開こうとしているアプリケーションの HTTP サーバーを開きます。
CInternetSession::OnStatusCallback 状態コールバックが有効になっている場合に、操作の状態を更新します。
CInternetSession::OpenURL URL を解析して開きます。
CInternetSession::SetCookie 指定した URL の Cookie を設定します。
CInternetSession::SetOption インターネット セッションのオプションを設定します。

パブリック演算子

名前 説明
CInternetSession::operator HINTERNET 現在のインターネット セッションへのハンドル。

解説

アプリケーションの期間中にインターネット接続を維持する必要がある場合は、クラス CWinAppCInternetSession メンバーを作成できます。

インターネット セッションを確立したら、OpenURL を呼び出すことができます。 その後、CInternetSession では、グローバル関数 AfxParseURL を呼び出すことで自動的に URL が解析されます。 そのプロトコルの種類に関係なく、CInternetSession では、URL が解釈されて自動的に管理されます。 URL リソース "file://" で識別されたローカル ファイルの要求を処理できます。 OpenURL では、渡す名前がローカル ファイルの場合、CStdioFile オブジェクトへのポインターが返されます。

OpenURL を使用してインターネット サーバー上の URL を開くと、サイトから情報を読み取ることができます。 サーバー上にあるファイルに対してサービス固有の (HTTP、FTP、gopher など) アクションを実行する場合は、そのサーバーとの適切な接続を確立する必要があります。 特定のサービスへの特定の種類の接続を直接開くには、次のいずれかのメンバー関数を使用します。

SetOption では、タイムアウト値、再試行回数など、セッションのクエリ オプションを設定できます。

CInternetSession メンバー関数 SetCookieGetCookie、および GetCookieLength では、Win32 Cookie データベースを管理する手段が提供されます。これにより、サーバーとスクリプトではクライアント ワークステーションに関する状態情報が保持されます。

基本的なインターネット プログラミング タスクの詳細については、インターネットの最初の手順: WinInet に関する記事を参照してください。 MFC WinInet クラスの使用に関する一般的な情報については、WinInet を使用したインターネット プログラミングに関する記事を参照してください。

Note

CInternetSession では、サポートされていないサービスの種類に対して AfxThrowNotSupportedException がスローされます。 現在サポートされているサービスの種類は、FTP、HTTP、gopher、および file のみです。

継承階層

CObject
CInternetSession

要件

ヘッダー: afxinet.h

CInternetSession::CInternetSession

このメンバー関数は、CInternetSession オブジェクトの作成時に呼び出されます。

CInternetSession(
    LPCTSTR pstrAgent = NULL,
    DWORD_PTR dwContext = 1,
    DWORD dwAccessType = PRE_CONFIG_INTERNET_ACCESS,
    LPCTSTR pstrProxyName = NULL,
    LPCTSTR pstrProxyBypass = NULL,
    DWORD dwFlags = 0);

パラメーター

pstrAgent
インターネット関数 ("Microsoft Internet Browser" など) を呼び出すアプリケーションまたはエンティティの名前を識別する文字列へのポインター。 pstrAgentNULL (既定値) の場合、フレームワークではグローバル関数 AfxGetAppName が呼び出されます。これにより、アプリケーションの名前を含む null で終わる文字列が返されます。 一部のプロトコルでは、この文字列を使用して、サーバーに対するアプリケーションが識別されます。

dwContext
操作のコンテキスト識別子。 dwContext では、CInternetSession::OnStatusCallback によって返される操作の状態情報が識別されます。 既定値は 1 に設定されています。しかし、操作の特定のコンテキスト ID を明示的に割り当てることができます。 オブジェクトとその作業は、そのコンテキスト ID に関連付けられます。

dwAccessType
必要なアクセスの種類。 有効な値を以下に示します。そのうちの 1 つだけを指定できます。

  • INTERNET_OPEN_TYPE_PRECONFIG レジストリの構成済み設定を使用して接続します。 このアクセスの種類は既定として設定されます。 TIS プロキシ経由で接続するには、dwAccessType をこの値に設定します。その後、レジストリを適切に設定します。

  • INTERNET_OPEN_TYPE_DIRECT インターネットに直接接続します。

  • INTERNET_OPEN_TYPE_PROXY CERN プロキシ経由で接続します。

さまざまな種類のプロキシでの接続については、「典型的な FTP クライアント アプリケーションでの手順」を参照してください。

pstrProxyName
dwAccessTypeINTERNET_OPEN_TYPE_PROXY として設定されている場合の優先 CERN プロキシの名前。 既定値は、NULL です。

pstrProxyBypass
サーバー アドレスの省略可能なリストを含む文字列へのポインター。 これらのアドレスは、プロキシ アクセスを使用するときにバイパスされる場合があります。 NULL 値を指定すると、レジストリからバイパス リストが読み取られます。 このパラメーターは、dwAccessTypeINTERNET_OPEN_TYPE_PROXY に設定されている場合にのみ意味があります。

dwFlags
さまざまなキャッシュ オプションを示します。 既定値は 0 に設定されています。 使用できる値は次のとおりです。

  • INTERNET_FLAG_DONT_CACHE ローカルや任意のゲートウェイ サーバーにデータをキャッシュしません。

  • INTERNET_FLAG_OFFLINE ダウンロード操作は、永続キャッシュを介してのみ満たされます。 項目がキャッシュに存在しない場合は、適切なエラー コードが返されます。 このフラグは、ビットごとの "or" (|) 演算子と組み合わせることができます。

解説

CInternetSession は、アプリケーションによって呼び出される最初のインターネット関数です。 内部データ構造を初期化し、アプリケーションからの今後の呼び出しに備えます。

インターネット接続を開けなかった場合、CInternetSession では AfxThrowInternetException がスローされます。

CFtpFileFind の例を参照してください。

CInternetSession::Close

アプリケーションで CInternetSession オブジェクトを使い終わったら、このメンバー関数を呼び出します。

virtual void Close();

CFtpFileFind の例を参照してください。

CInternetSession::EnableStatusCallback

状態コールバックを有効にするには、このメンバー関数を呼び出します。

BOOL EnableStatusCallback(BOOL bEnable = TRUE);

パラメーター

bEnable
コールバックを有効にするか無効にするかを指定します。 既定値は、TRUE です。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。 呼び出しが失敗した場合は、スローされた CInternetException オブジェクトを調べることで、エラーの原因を特定します。

解説

状態コールバックを処理するときに、アプリケーションのステータス バーに、操作の進行状況に関する状態 (名前を解決しています、サーバーに接続していますなど) を指定できます。 長期的な操作中は特に操作の状態を表示することをお勧めします。

コールバックは要求の処理中に発生するため、アプリケーションでは、ネットワークへのデータ スループットの低下を防ぐためにコールバックにはできるだけ少ない時間を費やす必要があります。 たとえば、コールバックにダイアログ ボックスを配置すると、サーバーで要求を終了する処理が長くなる場合があります。

コールバックが保留中である限り、状態コールバックを削除することはできません。

操作を非同期的に処理するには、独自のスレッドを作成するか、MFC なしで WinInet 関数を使用する必要があります。

CInternetSession::GetContext

このメンバー関数を呼び出して、特定のアプリケーション セッションのコンテキスト値を取得します。

DWORD_PTR GetContext() const;

戻り値

アプリケーション定義コンテキスト識別子。

解説

OnStatusCallback では、GetContext によって返されたコンテキスト ID を使用して、特定のアプリケーションの状態を報告します。 たとえば、ユーザーがインターネット要求をアクティブ化し、状態情報が返される場合、状態コールバックではコンテキスト ID を使用して、その特定の要求の状態が報告されます。 ユーザーが 2 つの別のインターネット要求をアクティブ化し、両方で状態情報が返される場合、OnStatusCallback ではコンテキスト識別子を使用して、対応する要求に関する状態が返されます。 その結果、コンテキスト識別子はすべての状態コールバック操作に使用され、セッションが終了するまでセッションに関連付けられます。

非同期操作の詳細については、インターネットの最初の手順: WinInet に関する記事を参照してください。

CInternetSession::GetCookie

このメンバー関数では、Windows SDK で説明されているように、Win32 関数 InternetGetCookie の動作が実装されます。

static BOOL GetCookie(
    LPCTSTR pstrUrl,
    LPCTSTR pstrCookieName,
    LPTSTR pstrCookieData,
    DWORD dwBufLen);

static BOOL GetCookie(
    LPCTSTR pstrUrl,
    LPCTSTR pstrCookieName,
    CString& strCookieData);

パラメーター

pstrUrl
URL を含む文字列へのポインター。

pstrCookieName
指定された URL に対して取得する Cookie の名前を含む文字列へのポインター。

pstrCookieData
最初のオーバーロードでは、Cookie データを受け取るバッファーのアドレスを含む文字列へのポインター。 この値は、NULL の場合もあります。 2 番目のオーバーロードでは、Cookie データを受け取る CString オブジェクトへの参照。

dwBufLen
pstrCookieData バッファーのサイズを指定する変数。 関数が成功すると、バッファーは pstrCookieData バッファーにコピーされたデータの量を受け取ります。 pstrCookieDataNULL の場合、このパラメーターでは、すべての Cookie データをコピーするために必要なバッファーのサイズを指定する値を受け取ります。

戻り値

成功した場合は TRUE を返し、それ以外の場合は FALSE を返します。 呼び出しが失敗した場合は、Win32 関数 GetLastError を呼び出してエラーの原因を特定します。 次のエラー値が適用されます。

  • ERROR_NO_MORE_ITEMS 指定された URL とそのすべての親の Cookie はありません。

  • ERROR_INSUFFICIENT_BUFFER dwBufLen に渡された値では、すべての Cookie データをコピーするには不十分です。 dwBufLen で返される値は、すべてのデータを取得するために必要なバッファーのサイズです。

解説

2 番目のオーバーロードでは、MFC によって、指定された CString オブジェクトに Cookie データが取得されます。

CInternetSession::GetCookieLength

このメンバー関数を呼び出して、バッファーに格納されている Cookie の長さを取得します。

static DWORD GetCookieLength(
    LPCTSTR pstrUrl,
    LPCTSTR pstrCookieName);

パラメーター

pstrUrl
URL を含む文字列へのポインター

pstrCookieName
Cookie の名前を含む文字列へのポインター。

戻り値

バッファーに格納されている Cookie の長さを示す DWORD 値。 pstrCookieName によって示される名前の Cookie が存在しない場合は 0。

解説

この値は GetCookie によって使用されます。

CInternetSession::GetFtpConnection

このメンバー関数を呼び出して FTP 接続を確立し、CFtpConnection オブジェクトへのポインターを取得します。

CFtpConnection* GetFtpConnection(
    LPCTSTR pstrServer,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    BOOL bPassive = FALSE);

パラメーター

pstrServer
FTP サーバー名を含む文字列へのポインター。

pstrUserName
ログインするユーザーの名前を指定する null で終わる文字列へのポインター。 NULL の場合、既定値は anonymous です。

pstrPassword
ログインに使用するパスワードを指定する null で終わる文字列へのポインター。 pstrPasswordpstrUserName の両方が NULL の場合、既定の匿名パスワードはユーザーのメール名です。 pstrPasswordNULL (または空の文字列) であっても、pstrUserNameNULL でない場合は、空白のパスワードが使用されます。 次の表では、pstrUserNamepstrPassword の 4 つの使用できる設定の動作について説明します。

pstrUserName pstrPassword FTP サーバーに送信されたユーザー名 FTP サーバーに送信されたパスワード
NULL または " " NULL または " " "anonymous" ユーザーのメール名
NULL 以外の文字列 NULL または " " pstrUserName
NULL NULL 以外の文字列 ERROR ERROR
NULL 以外の文字列 NULL 以外の文字列 pstrUserName pstrPassword

nPort
サーバーで使用する TCP/IP ポートを識別する番号。

bPassive
この FTP セッションのパッシブまたはアクティブ モードを指定します。 TRUE に設定すると、Win32 API dwFlagINTERNET_FLAG_PASSIVE に設定されます。

戻り値

CFtpConnection オブジェクトを指すポインターです。 呼び出しが失敗した場合は、スローされた CInternetException オブジェクトを調べることで、エラーの原因を特定します。

解説

GetFtpConnection では、FTP サーバーに接続し、CFTPConnection オブジェクトへのポインターを作成して返します。 サーバーで特定の操作は実行されません。 たとえば、ファイルの読み取りまたは書き込みを行う場合、これらの操作を個別の手順として実行する必要があります。 ファイルの検索、ファイルの開き方、ファイルへの読み取りまたは書き込みについては、「CFtpConnection クラス」と「CFtpFileFind クラス」を参照してください。 一般的な FTP 接続タスクを実行する手順については、WinInet を使用したインターネット プログラミングに関する記事を参照してください。

CFtpFileFind の例を参照してください。

CInternetSession::GetGopherConnection

このメンバー関数を呼び出して新しい gopher 接続を確立し、CGopherConnection オブジェクトへのポインターを取得します。

CGopherConnection* GetGopherConnection(
    LPCTSTR pstrServer,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER);

パラメーター

pstrServer
gopher サーバー名を含む文字列へのポインター。

pstrUserName
ユーザー名を含む文字列へのポインター。

pstrPassword
アクセス パスワードを含む文字列へのポインター。

nPort
サーバーで使用する TCP/IP ポートを識別する番号。

戻り値

CGopherConnection オブジェクトを指すポインターです。 呼び出しが失敗した場合は、スローされた CInternetException オブジェクトを調べることで、エラーの原因を特定します。

解説

GetGopherConnection では、gopher サーバーに接続し、CGopherConnection オブジェクトへのポインターを作成して返します。 サーバーで特定の操作は実行されません。 たとえば、データの読み取りまたは書き込みを行う場合は、これらの操作を個別の手順として実行する必要があります。 ファイルの検索、ファイルの開き方、ファイルへの読み取りまたは書き込みについては、「CGopherConnection クラス」、「CGopherFile クラス」、および「CGopherFileFind クラス」を参照してください。 FTP サイトの参照については、メンバー関数 OpenURL に関する記述を参照してください。 一般的な gopher 接続タスクを実行する手順については、WinInet を使用したインターネット プログラミングに関する記事を参照してください。

CInternetSession::GetHttpConnection

このメンバー関数を呼び出して HTTP 接続を確立し、CHttpConnection オブジェクトへのポインターを取得します。

CHttpConnection* GetHttpConnection(
    LPCTSTR pstrServer,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL);

CHttpConnection* GetHttpConnection(
    LPCTSTR pstrServer,
    DWORD dwFlags,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL);

パラメーター

pstrServer
HTTP サーバー名を含む文字列へのポインター。

nPort
サーバーで使用する TCP/IP ポートを識別する番号。

pstrUserName
ユーザー名を含む文字列へのポインター。

pstrPassword
アクセス パスワードを含む文字列へのポインター。

dwflags
INTERNET_FLAG_* フラグの任意の組み合わせ。 dwFlags 値の説明については、「CHttpConnection::OpenRequest」の「解説」セクションの表を参照してください。

戻り値

CHttpConnection オブジェクトを指すポインターです。 呼び出しが失敗した場合は、スローされた CInternetException オブジェクトを調べることで、エラーの原因を特定します。

解説

GetHttpConnection では、HTTP サーバーに接続し、CHttpConnection オブジェクトへのポインターを作成して返します。 サーバーで特定の操作は実行されません。 たとえば、HTTP ヘッダーに対してクエリを実行する場合は、個別の手順としてこの操作を実行する必要があります。 HTTP サーバーへの接続を使用して実行できる操作については、「CHttpConnection クラス」と「CHttpFile クラス」を参照してください。 HTTP サイトの参照については、メンバー関数 OpenURL に関する記述を参照してください。 一般的な HTTP 接続タスクを実行する手順については、WinInet を使用したインターネット プログラミングに関する記事を参照してください。

CInternetSession::OnStatusCallback

このメンバー関数は、状態コールバックが有効で操作が保留中のときに状態を更新するためにフレームワークによって呼び出されます。

virtual void OnStatusCallback(
    DWORD_PTR dwContext,
    DWORD dwInternetStatus,
    LPVOID lpvStatusInformation,
    DWORD dwStatusInformationLength);

パラメーター

dwContext
アプリケーションによって提供されるコンテキスト値。

dwInternetStatus
コールバックが行われている理由を示す状態コード。 使用可能な値の表については、「解説」を参照してください。

lpvStatusInformation
このコールバックに関連する情報を含むバッファーへのポインター。

dwStatusInformationLength
lpvStatusInformation のサイズ。

解説

状態コールバックを利用するには、まず EnableStatusCallback を呼び出す必要があります。

dwInternetStatus パラメーターは、実行されている操作を示し、lpvStatusInformation の内容を決定します。 dwStatusInformationLength は、lpvStatusInformation に含まれるデータの長さを示します。 dwInternetStatus の以下の状態値は、次のように定義されます。

Value 意味
INTERNET_STATUS_RESOLVING_NAME lpvStatusInformation に含まれる名前の IP アドレスを検索しています。
INTERNET_STATUS_NAME_RESOLVED lpvStatusInformation に含まれる名前の IP アドレスが正常に見つかりました。
INTERNET_STATUS_CONNECTING_TO_SERVER lpvStatusInformation が指すソケット アドレス (SOCKADDR) に接続しています。
INTERNET_STATUS_CONNECTED_TO_SERVER lpvStatusInformation が指すソケット アドレス ( SOCKADDR) に正常に接続されました。
INTERNET_STATUS_SENDING_REQUEST サーバーに情報要求を送信しています。 lpvStatusInformation パラメーターが NULL です。
INTERNET_STATUS_REQUEST_SENT サーバーに情報要求が正常に送信されました。 lpvStatusInformation パラメーターが NULL です。
INTERNET_STATUS_RECEIVING_RESPONSE サーバーが要求に応答するのを待機しています。 lpvStatusInformation パラメーターが NULL です。
INTERNET_STATUS_RESPONSE_RECEIVED サーバーからの応答が正常に受信されました。 lpvStatusInformation パラメーターが NULL です。
INTERNET_STATUS_CLOSING_CONNECTION サーバーへの接続を閉じています。 lpvStatusInformation パラメーターが NULL です。
INTERNET_STATUS_CONNECTION_CLOSED サーバーへの接続が正常に閉じられました。 lpvStatusInformation パラメーターが NULL です。
INTERNET_STATUS_HANDLE_CREATED Win32 API 関数 InternetConnect で新しいハンドルが作成されたことを示すために使用されます。 これにより、接続に時間がかかりすぎる場合に、アプリケーションは別のスレッドから Win32 関数 InternetCloseHandle を呼び出すことができます。 これらの関数の詳細については、Windows SDK を参照してください。
INTERNET_STATUS_HANDLE_CLOSING このハンドル値が正常に終了しました。

状態コールバック ルーチンが実行される前に何らかのアクションを要求するには、このメンバー関数をオーバーライドします。

Note

状態コールバックにはスレッド状態の保護が必要です。 共有ライブラリで MFC を使用している場合は、オーバーライドの先頭に次の行を追加します。

AFX_MANAGE_STATE(AfxGetAppModuleState());

非同期操作の詳細については、インターネットの最初の手順: WinInet に関する記事を参照してください。

CInternetSession::OpenURL

このメンバー関数を呼び出して、指定した要求を HTTP サーバーに送信し、クライアントが要求と共に送信する追加の RFC822、MIME、または HTTP ヘッダーを指定できるようにします。

CStdioFile* OpenURL(
    LPCTSTR pstrURL,
    DWORD_PTR dwContext = 1,
    DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII,
    LPCTSTR pstrHeaders = NULL,
    DWORD dwHeadersLength = 0);

パラメーター

pstrURL
読み取りを開始する URL の名前へのポインター。 file:ftp:gopher:、または http: で始まる URL のみがサポートされます。 pstrURLNULL の場合にアサートします。

dwContext
コールバックで返されたハンドルと共に渡されるアプリケーション定義の値。

dwFlags
この接続の処理方法を説明するフラグ。 有効なフラグの詳細については、「解説」を参照してください。 有効なフラグは次のとおりです。

  • INTERNET_FLAG_TRANSFER_ASCII 既定値。 ファイルを ASCII テキストとして転送します。

  • INTERNET_FLAG_TRANSFER_BINARY ファイルをバイナリ ファイルとして転送します。

  • INTERNET_FLAG_RELOAD ローカルにキャッシュされている場合でも、ネットワークからデータを取得します。

  • INTERNET_FLAG_DONT_CACHE ローカルや任意のゲートウェイにデータをキャッシュしません。

  • INTERNET_FLAG_SECURE このフラグは、HTTP 要求にのみ適用されます。 Secure Sockets Layer または PCT を使用して、ネットワーク上のセキュリティで保護されたトランザクションを要求します。

  • INTERNET_OPEN_FLAG_USE_EXISTING_CONNECT 可能な場合は、接続要求ごとに新しいセッションを作成するのではなく、OpenUrl によって生成された新しい要求に対してサーバーへの既存の接続を再利用します。

  • INTERNET_FLAG_PASSIVE FTP サイトに使用されます。 パッシブ FTP セマンティクスを使用します。 OpenURLCInternetConnection で使用されます。

pstrHeaders
HTTP サーバーに送信されるヘッダーを含む文字列へのポインター。

dwHeadersLength
追加ヘッダーの長さ (文字数)。 これが -1L で、pstrHeadersNULL でない場合、pstrHeaders は 0 で終わると見なされ、長さが計算されます。

戻り値

種類が FTP、GOPHER、HTTP、および FILE のインターネット サービスのみのファイル ハンドルを返します。 解析が失敗した場合に NULL を返します。

OpenURL で返されるポインターは、pstrURL のサービスの種類によって異なります。 以下の表に、OpenURL で返すことができるポインターを示します。

URL の種類 返品
file:// CStdioFile*
http:// CHttpFile*
gopher:// CGopherFile*
ftp:// CInternetFile*

解説

パラメーター dwFlags には、INTERNET_FLAG_TRANSFER_ASCII または INTERNET_FLAG_TRANSFER_BINARY を含める必要がありますが、両方を含める必要はありません。 残りのフラグは、ビットごとの "or" (|) 演算子と組み合わせることができます。

Win32 関数 InternetOpenURL をラップする OpenURL では、インターネット サーバーからのデータのダウンロード、取得、読み取りのみが許可されます。 OpenURL では、リモートの場所でのファイル操作は許可されないため、CInternetConnection オブジェクトは必要ありません。

ファイルへの書き込みなど、接続固有の (つまり、プロトコル固有の) 関数を使用するには、セッションを開き、特定の種類の接続を開き、その接続を使って目的のモードでファイルを開く必要があります。 接続固有の関数の詳細については、CInternetConnection を参照してください。

CInternetSession::operator HINTERNET

この演算子を使用して、現在のインターネット セッションの Windows ハンドルを取得します。

operator HINTERNET() const;

CInternetSession::SetCookie

指定した URL の Cookie を設定します。

static BOOL SetCookie(
    LPCTSTR pstrUrl,
    LPCTSTR pstrCookieName,
    LPCTSTR pstrCookieData);

パラメーター

pstrUrl
Cookie を設定する URL を指定する null で終わる文字列へのポインター。

pstrCookieName
Cookie の名前を含む文字列へのポインター。

pstrCookieData
URL に関連付ける実際の文字列データを含む文字列へのポインター。

戻り値

成功した場合は TRUE を返し、それ以外の場合は FALSE を返します。 特定のエラー コードを取得するには、GetLastError を呼び出します。

解説

このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ InternetSetCookie の動作が実装されます。

CInternetSession::SetOption

このメンバー関数を呼び出して、インターネット セッションのオプションを設定します。

BOOL SetOption(
    DWORD dwOption,
    LPVOID lpBuffer,
    DWORD dwBufferLength,
    DWORD dwFlags = 0);

BOOL SetOption(
    DWORD dwOption,
    DWORD dwValue,
    DWORD dwFlags = 0);

パラメーター

dwOption
設定するインターネット オプション。 使用可能なオプションのリストについては、Windows SDK の「オプション フラグ」を参照してください。

lpBuffer
オプション設定を含むバッファー。

dwBufferLength
lpBuffer の長さまたは dwValue のサイズ。

dwValue
オプション設定を含む DWORD

dwFlags
さまざまなキャッシュ オプションを示します。 既定値は 0 に設定されています。 使用できる値は次のとおりです。

  • INTERNET_FLAG_DONT_CACHE ローカルや任意のゲートウェイ サーバーにデータをキャッシュしません。

  • INTERNET_FLAG_OFFLINE ダウンロード操作は、永続キャッシュを介してのみ満たされます。 項目がキャッシュに存在しない場合は、適切なエラー コードが返されます。 このフラグは、ビットごとの "or" (|) 演算子と組み合わせることができます。

戻り値

操作が成功した場合は、TRUE の値が返されます。 エラーが発生した場合は、FALSE の値が返されます。 呼び出しが失敗した場合、Win32 関数 GetLastError を呼び出してエラーの原因を特定できます。

関連項目

CObject クラス
階層図
CInternetConnection クラス
CHttpConnection クラス
CFtpConnection クラス
CGopherConnection クラス