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 インターネット クラスと連携 CGopherConnection 方法の詳細については、「WinInet を使用したInternet プログラミング 」の記事を参照してください。 サポートされている他の 2 つのインターネット サービス FTP と HTTP の使用の詳細については、 CHttpConnection および CFtpConnection クラスを参照してください。

継承階層

CObject

CInternetConnection

CGopherConnection

要件

Header: 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の詳細については、「Remarks」を参照してください。

戻り値

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

解説

コンテキスト識別子を選択した値に設定するには既定の dwContext をオーバーライドします。 コンテキスト識別子は、CInternetSession オブジェクトによって作成されたCGopherConnection オブジェクトのこの特定の操作に関連付けられています。 値は CInternetSession::OnStatusCallback に返され、識別される操作の状態を指定します。 コンテキスト識別子の詳細については、「 Internet First Steps: WinInet 」を参照してください。

関連項目

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