次の方法で共有


CGopherFileFind クラス

gopher サーバーのインターネット ファイル検索を支援します。

Note

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

構文

class CGopherFileFind : public CFileFind

メンバー

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

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

パブリック メソッド

名前 説明
CGopherFileFind::FindFile gopher サーバー上のファイルを検索します。
CGopherFileFind::FindNextFile 前の呼び出しから FindFile へのファイル検索を続行します。
CGopherFileFind::GetCreationTime 指定したファイルが作成された時刻を取得します。
CGopherFileFind::GetLastAccessTime 指定したファイルが最後にアクセスされた時刻を取得します。
CGopherFileFind::GetLastWriteTime 指定したファイルが最後に書き込まれた時刻を取得します。
CGopherFileFind::GetLength 見つかったファイルの長さをバイト単位で取得します。
CGopherFileFind::GetLocator CGopherLocator オブジェクトを取得します。
CGopherFileFind::GetScreenName gopher 画面の名前を取得します。
CGopherFileFind::IsDots ファイルの反復処理中に、現在のディレクトリ と親ディレクトリ マーカーをテストします。

解説

CGopherFileFind には、検索を開始し、ファイルを検索し、ファイルの URL を返すメンバー関数が含まれています。

検索されるインターネットおよびローカル ファイル用に設計されたその他の MFC クラスには、 CFtpFileFindCFileFindがあります。 これらのクラスは、 CGopherFileFindと共に、サーバー プロトコル、ファイルの種類、場所 (ローカル コンピューターまたはリモート サーバー) に関係なく、ユーザーが特定のファイルを検索するためのシームレスなメカニズムを提供します。HTTP は検索に必要な直接ファイル操作をサポートしていないため、HTTP サーバーで検索するための MFC クラスがないことに注意してください。

Note

CGopherFileFind では、基底クラス CFileFind の次のメンバー関数はサポートされていません。

さらに、 CGopherFileFindと共に使用すると、 CFileFind メンバー関数 IsDots は常に FALSE になります。

CGopherFileFindおよびその他の WinInet クラスの使用方法の詳細については、「WinInet を使用したInternet プログラミング」の記事を参照

継承階層

CObject

CFileFind

CGopherFileFind

要件

Header: afxinet.h

CGopherFileFind::CGopherFileFind

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

explicit CGopherFileFind(
    CGopherConnection* pConnection,
    DWORD_PTR dwContext = 1);

パラメーター

pConnection
CGopherConnection オブジェクトへのポインター。

dwContext
操作のコンテキスト識別子。 dwContextの詳細については、「Remarks」を参照してください。

解説

dwContext の既定値は、MFC によって、CGopherFileFind オブジェクトを作成した CInternetSession オブジェクトからCGopherFileFind オブジェクトに送信されます。 CGopherFileFind オブジェクトを作成するときに、既定値をオーバーライドして、コンテキスト識別子を選択した値に設定できます。 コンテキスト識別子が CInternetSession::OnStatusCallback に返され、識別されるオブジェクトの状態が提供されます。 コンテキスト識別子の詳細については、「 Internet First Steps: WinInet 」を参照してください。

CGopherFileFind::FindFile

このメンバー関数を呼び出して、gopher ファイルを検索します。

virtual BOOL FindFile(
    CGopherLocator& refLocator,
    LPCTSTR pstrString,
    DWORD dwFlags = INTERNET_FLAG_RELOAD);

virtual BOOL FindFile(
    LPCTSTR pstrString,
    DWORD dwFlags = INTERNET_FLAG_RELOAD);

パラメーター

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

pstrString
ファイル名を含む文字列へのポインター。

dwFlags
このセッションの処理方法を説明するフラグ。 有効なフラグは次のとおりです。

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

  • INTERNET_FLAG_DONT_CACHE ローカルまたはゲートウェイにデータをキャッシュしないでください。

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

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

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。 拡張エラー情報を取得するには、Win32 関数 GetLastError を呼び出します。

解説

FindFileを呼び出して最初の gopher オブジェクトを取得した後、FindNextFile を呼び出して後続の gopher ファイルを取得できます。

CGopherFileFind::FindNextFile

このメンバー関数を呼び出して、 CGopherFileFind::FindFile の呼び出しで開始されたファイル検索を続行します。

virtual BOOL FindNextFile();

戻り値

その他のファイルがある場合は 0 以外。見つかったファイルがディレクトリ内の最後のファイルであるか、エラーが発生した場合は 0。 拡張エラー情報を取得するには、Win32 関数 GetLastError を呼び出します。 見つかったファイルがディレクトリ内の最後のファイルである場合、または一致するファイルが見つからない場合、 GetLastError 関数はERROR_NO_MORE_FILESを返します。

CGopherFileFind::GetCreationTime

現在のファイルの作成時刻を取得します。

virtual BOOL GetCreationTime(FILETIME* pTimeStamp) const;
virtual BOOL GetCreationTime(CTime& refTime) const;

パラメーター

pTimeStamp
ファイルが作成された時刻を含む FILETIME 構造体へのポインター。

refTime
CTime オブジェクトへの参照。

戻り値

成功した場合は 0 以外。失敗した場合は 0。 GetCreationTime は、 FindNextFile がこの CGopherFileFind オブジェクトで呼び出されたことがない場合にのみ 0 を返します。

解説

GetCreationTimeを呼び出す前に、FindNextFileを少なくとも 1 回呼び出す必要があります。

Note

すべてのファイル システムで同じセマンティクスを使用して、この関数によって返されるタイム スタンプを実装するわけではありません。 基になるファイル システムまたはサーバーが time 属性の保持をサポートしていない場合、この関数は他のタイム スタンプ関数から返されるのと同じ値を返す場合があります。 時刻形式については、 WIN32_FIND_DATA 構造を参照してください。 一部のオペレーティング システムでは、返される時刻は、ファイルが配置されていたコンピューターにローカルなタイム ゾーンにあります。 詳細については、Win32 FileTimeToLocalFileTime API を参照してください。

CGopherFileFind::GetLastAccessTime

指定したファイルが最後にアクセスされた時刻を取得します。

virtual BOOL GetLastAccessTime(CTime& refTime) const;
virtual BOOL GetLastAccessTime(FILETIME* pTimeStamp) const;

パラメーター

refTime
CTime オブジェクトへの参照。

pTimeStamp
ファイルが最後にアクセスされた時刻を含む FILETIME 構造体へのポインター。

戻り値

成功した場合は 0 以外。失敗した場合は 0。 GetLastAccessTime は、 FindNextFile がこの CGopherFileFind オブジェクトで呼び出されたことがない場合にのみ 0 を返します。

解説

GetLastAccessTimeを呼び出す前に、FindNextFileを少なくとも 1 回呼び出す必要があります。

Note

すべてのファイル システムで同じセマンティクスを使用して、この関数によって返されるタイム スタンプを実装するわけではありません。 基になるファイル システムまたはサーバーが time 属性の保持をサポートしていない場合、この関数は他のタイム スタンプ関数から返されるのと同じ値を返す場合があります。 時刻形式については、 WIN32_FIND_DATA 構造を参照してください。 一部のオペレーティング システムでは、返される時刻は、ファイルが配置されていたコンピューターにローカルなタイム ゾーンにあります。 詳細については、Win32 FileTimeToLocalFileTime API を参照してください。

CGopherFileFind::GetLastWriteTime

ファイルが最後に変更された時刻を取得します。

virtual BOOL GetLastWriteTime(FILETIME* pTimeStamp) const;
virtual BOOL GetLastWriteTime(CTime& refTime) const;

パラメーター

pTimeStamp
ファイルが最後に書き込まれた時刻を含む FILETIME 構造体へのポインター。

refTime
CTime オブジェクトへの参照。

戻り値

成功した場合は 0 以外。失敗した場合は 0。 GetLastWriteTime は、 FindNextFile がこの CGopherFileFind オブジェクトで呼び出されたことがない場合にのみ 0 を返します。

解説

GetLastWriteTimeを呼び出す前に、FindNextFileを少なくとも 1 回呼び出す必要があります。

Note

すべてのファイル システムで同じセマンティクスを使用して、この関数によって返されるタイム スタンプを実装するわけではありません。 基になるファイル システムまたはサーバーが time 属性の保持をサポートしていない場合、この関数は他のタイム スタンプ関数から返されるのと同じ値を返す場合があります。 時刻形式については、 WIN32_FIND_DATA 構造を参照してください。 一部のオペレーティング システムでは、返される時刻は、ファイルが配置されていたコンピューターにローカルなタイム ゾーンにあります。 詳細については、Win32 FileTimeToLocalFileTime API を参照してください。

CGopherFileFind::GetLength

このメンバー関数を呼び出して、見つかったファイルの長さをバイト単位で取得します。

virtual ULONGLONG GetLength() const;

戻り値

見つかったファイルの長さ (バイト単位)。

解説

GetLength では、Win32 構造体 WIN32_FIND_DATA を使用して、ファイル サイズの値をバイト単位で取得します。

Note

MFC 7.0 の時点で、 GetLength では 64 ビット整数型がサポートされています。 この新しいバージョンのライブラリで以前にビルドされた既存のコードでは、切り捨て警告が発生する可能性があります。

CFile::GetLength (基底クラスの実装) の例を参照してください。

CGopherFileFind::GetLocator

このメンバー関数を呼び出して、gopher ファイルの検索に使用する CGopherLocator オブジェクト FindFile を取得します。

CGopherLocator GetLocator() const;

戻り値

CGopherLocator オブジェクト。

CGopherFileFind::GetScreenName

このメンバー関数を呼び出して、gopher 画面の名前を取得します。

CString GetScreenName() const;

戻り値

gopher 画面の名前。

CGopherFileFind::IsDots

ファイルの反復処理中に、現在のディレクトリ と親ディレクトリ マーカーをテストします。

virtual BOOL IsDots() const;

戻り値

見つかったファイルの名前が "." または ".." の場合は 0 以外。見つかったファイルが実際にディレクトリであることを示します。 それ以外の場合は 0。

解説

IsDotsを呼び出す前に、FindNextFileを少なくとも 1 回呼び出す必要があります。

関連項目

CFileFind クラス
階層図
CFtpFileFind クラス
CFileFind クラス
CInternetFile クラス
CGopherFile クラス
CHttpFile クラス