CGopherFileFind クラス
gopher サーバーのインターネット ファイル検索を支援します。
Note
クラス CGopherConnection
、 CGopherFile
、 CGopherFileFind
、 CGopherLocator
、およびそのメンバーは、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 クラスには、 CFtpFileFind と CFileFindがあります。 これらのクラスは、 CGopherFileFind
と共に、サーバー プロトコル、ファイルの種類、場所 (ローカル コンピューターまたはリモート サーバー) に関係なく、ユーザーが特定のファイルを検索するためのシームレスなメカニズムを提供します。HTTP は検索に必要な直接ファイル操作をサポートしていないため、HTTP サーバーで検索するための MFC クラスがないことに注意してください。
Note
CGopherFileFind
では、基底クラス CFileFind の次のメンバー関数はサポートされていません。
さらに、 CGopherFileFind
と共に使用すると、 CFileFind
メンバー関数 IsDots は常に FALSE になります。
CGopherFileFind
およびその他の WinInet クラスの使用方法の詳細については、「WinInet を使用したInternet プログラミング」の記事を参照。
継承階層
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 クラス