CGopherConnection クラス

gopher インターネット サーバーへの接続を管理します。

Note

クラスCGopherConnectionCGopherFileCGopherFileFindCGopherLocatorおよびそのメンバーは、Windows XP プラットフォームでは動作しないため非推奨になりましたが、以前のプラットフォームでは引き続き動作します。

構文

class CGopherConnection : public CInternetConnection

メンバー

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

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

パブリック メソッド

名前 説明
CGopherConnection::CreateLocator Gopher サーバー上の ファイルを検索する CGopherLocator オブジェクトを作成します。
CGopherConnection::GetAttribute gopher オブジェクトに関する属性情報を取得します。
CGopherConnection::OpenFile gopher ファイルを開きます。

解説

gopher サービスは、MFC WinInet クラスによって認識される 3 つのインターネット サービスの 1 つです。

このクラスCGopherConnectionには、gopher サービスを管理するコンストラクターと 3 つの追加メンバー関数 (OpenFileCreateLocator、GetAttribute) が含まれています。

gopher インターネット サーバーと通信するには、最初に CInternetSession のインスタンスを作成してから、CInternetSession::GetGopherConnection を呼び出してオブジェクトをCGopherConnection作成し、そのサーバーへのポインターを返す必要があります。 オブジェクトを CGopherConnection 直接作成することはありません。

他の MFC インターネット クラスでの動作の詳細については、WinInet を使用したインターネット プログラミングに関CGopherConnectionする記事を参照してください。 他の 2 つのサポートされているインターネット サービス FTP と HTTP の使用の詳細については、CHttpConnection クラスと CFtpConnection クラスを参照してください。

継承階層

CObject

CInternetConnection

CGopherConnection

必要条件

ヘッダー: afxinet.h

CGopherConnection::CGopherConnection

このメンバー関数は、オブジェクトを構築 CGopherConnection するために呼び出されます。

CGopherConnection(
    CInternetSession* pSession,
    HINTERNET hConnected,
    LPCTSTR pstrServer,
    DWORD_PTR dwContext);

CGopherConnection(
    CInternetSession* pSession,
    LPCTSTR pstrServer,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    DWORD_PTR dwContext = 0,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER);

パラメーター

pSession
関連 する CInternetSession オブジェクトへのポインター。

hConnected
現在のインターネット セッションの Windows ハンドル。

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

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

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

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

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

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

解説

直接作成することはありません CGopherConnection 。 代わりに、CInternetSession::GetGopherConnection を呼び出します。これによってオブジェクトが作成CGopherConnectionされ、そのオブジェクトへのポインターが返されます。

CGopherConnection::CreateLocator

このメンバー関数を呼び出して、gopher サーバー上のファイルを検索または識別する gopher ロケーターを作成します。

CGopherLocator CreateLocator(
    LPCTSTR pstrDisplayString,
    LPCTSTR pstrSelectorString,
    DWORD dwGopherType);

static CGopherLocator CreateLocator(LPCTSTR pstrLocator);

static CGopherLocator CreateLocator(
    LPCTSTR pstrServerName,
    LPCTSTR pstrDisplayString,
    LPCTSTR pstrSelectorString,
    DWORD dwGopherType,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER);

パラメーター

pstrDisplayString
取得する gopher ドキュメントまたはディレクトリの名前を含む文字列へのポインター。 pstrDisplayString パラメーターが NULL の場合は、gopher サーバーの既定のディレクトリが返されます。

pstrSelectorString
アイテムを取得するために gopher サーバーに送信されるセレクター文字列へのポインター。 pstrSelectorString には NULL を指定できます。

dwGopherType
これは、pstrSelectorString がディレクトリまたはドキュメントを参照するかどうか、および要求が gopher または gopher+ かどうかを指定します。 Windows SDK の構造 GOPHER_FIND_DATA の属性を参照してください。

pstrLocator
開くファイルを識別する文字列へのポインター。 通常、この文字列は CGopherFileFind::GetLocator呼び出しから返されます。

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

nPort
この接続のインターネット ポートを識別する番号。

戻り値

CGopherLocator オブジェクト。

解説

メンバー関数の静的バージョンではサーバーを指定する必要があります。非静的バージョンでは、接続オブジェクトのサーバー名が使用されます。

gopher サーバーから情報を取得するには、アプリケーションが最初に gopher ロケーターを取得する必要があります。 その後、アプリケーションはロケーターを不透明なトークンとして扱う必要があります (つまり、アプリケーションはロケーターを使用できますが、直接操作したり比較したりすることはできません)。 通常、アプリケーションは CGopherFileFind::FindFile メンバー関数の呼び出しにロケーターを使用して、特定の情報を取得します。

CGopherConnection::GetAttribute

このメンバー関数を呼び出して、gopher サーバーから項目に関する特定の属性情報を取得します。

BOOL GetAttribute(
    CGopherLocator& refLocator    CString strRequestedAttributes,
    CString& strResult,);

パラメーター

refLocator
CGopherLocator オブジェクトへの参照。

strRequestedAttributes
要求された属性の名前を指定するスペース区切りの文字列。

strResult
ロケーターの種類を 受け取る CString への参照。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。 呼び出しが失敗した場合、Win32 関数 GetLastError を呼び出してエラーの原因を特定できます。

CGopherConnection::OpenFile

このメンバー関数を呼び出して、gopher サーバー上のファイルを開きます。

CGopherFile* OpenFile(
    CGopherLocator& refLocator,
    DWORD dwFlags = 0,
    LPCTSTR pstrView = NULL,
    DWORD_PTR dwContext = 1);

パラメーター

refLocator
CGopherLocator オブジェクトへの参照。

dwFlags
INTERNET_FLAG_* フラグの任意の組み合わせ。 INTERNET_FLAG_* フラグの詳細については 、CInternetSession::OpenUrl を参照してください。

pstrView
ファイル ビュー文字列へのポインター。 サーバーにファイルの複数のビューが存在する場合、このパラメーターは、開くファイル ビューを指定します。 pstrView が NULL の場合、既定のファイル ビューが使用されます。

dwContext
開いているファイルのコンテキスト ID。 dwContext の詳細については、「解説」を参照してください。

戻り値

開く CGopherFile オブジェクトへのポインター。

解説

dwContext の既定値をオーバーライドして、コンテキスト識別子を選択した値に設定します。 コンテキスト識別子は、CInternetSession オブジェクトによって作成されたオブジェクトのCGopherConnectionこの特定の操作に関連付けられています。 値は CInternetSession::OnStatusCallback に返され、識別される操作の状態が提供されます。 コンテキスト識別子の詳細については、インターネットの最初の手順: WinInet に関する記事を参照してください。

関連項目

CInternetConnection クラス
階層図
CFtpConnection クラス
CHttpConnection クラス
CInternetConnection クラス
CGopherLocator クラス
CGopherFile クラス
CInternetSession クラス