CGopherFileFind 類別
協助網際網路檔案搜尋 Gopher 伺服器。
注意
類別 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
起提供無縫機制,讓用戶尋找特定檔案,而不論伺服器通訊協定、檔案類型或位置為何(本機計算機或遠端伺服器。請注意,沒有 MFC 類別可供在 HTTP 伺服器上搜尋,因為 HTTP 不支援搜尋所需的直接檔案操作。
注意
CGopherFileFind
不支援其基類 CFileFind 的下列成員函式:
此外,搭配 CGopherFileFind
使用 時, CFileFind
成員函式 IsDots 一律為 FALSE。
如需如何使用 CGopherFileFind
和其他 WinInet 類別的詳細資訊,請參閱使用 WinInet 進行因特網程式設計一文。
繼承階層架構
CGopherFileFind
需求
標頭: afxinet.h
CGopherFileFind::CGopherFileFind
呼叫這個成員函式來建構 CGopherFileFind
物件。
explicit CGopherFileFind(
CGopherConnection* pConnection,
DWORD_PTR dwContext = 1);
參數
pConnection
CGopherConnection 物件的指標。
dwContext
作業的內容識別碼。 如需 dwContext 的詳細資訊,請參閱。
備註
dwContext 的預設值是由 MFC 從建立CGopherFileFind
物件的 CInternetSession 物件傳送至 CGopherFileFind
物件。 當您建構 CGopherFileFind
物件時,可以覆寫預設值,將內容識別符設定為您選擇的值。 內容標識符會傳回至 CInternetSession::OnStatusCallback ,以提供識別物件的狀態。 如需內容標識碼的詳細資訊,請參閱因特網第一個步驟: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使用安全套接字層或PCT線上路上要求安全交易。 此旗標僅適用於 HTTP 要求。
INTERNET_FLAG_USE_EXISTING可能的話,請針對新
FindFile
要求重複使用伺服器的現有連線,而不是為每個要求建立新的會話。
傳回值
如果成功則為非零;否則為 0。 若要取得擴充的錯誤資訊,請呼叫 Win32 函式 GetLastError。
備註
呼叫 FindFile
以擷取第一個 gopher 物件之後,您可以呼叫 FindNextFile 來擷取後續的 gopher 檔案。
CGopherFileFind::FindNextFile
呼叫此成員函式,以繼續從 CGopherFileFind::FindFile 呼叫開始的檔案搜尋。
virtual BOOL FindNextFile();
傳回值
如果有更多檔案,則為非零;如果找到的檔案是目錄中的最後一個檔案,或發生錯誤,則為零。 若要取得擴充的錯誤資訊,請呼叫 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。 GetCreationTime
只有在這個CGopherFileFind
物件上從未呼叫 FindNextFile 時,才會傳回 0。
備註
您至少必須在呼叫 GetCreationTime
之前呼叫 FindNextFile 一次。
注意
並非所有文件系統都使用相同的語意來實作此函式傳回的時間戳。 如果基礎文件系統或伺服器不支援保留 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。 GetLastAccessTime
只有在這個CGopherFileFind
物件上從未呼叫 FindNextFile 時,才會傳回 0。
備註
您至少必須在呼叫 GetLastAccessTime
之前呼叫 FindNextFile 一次。
注意
並非所有文件系統都使用相同的語意來實作此函式傳回的時間戳。 如果基礎文件系統或伺服器不支援保留 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。 GetLastWriteTime
只有在這個CGopherFileFind
物件上從未呼叫 FindNextFile 時,才會傳回 0。
備註
您至少必須在呼叫 GetLastWriteTime
之前呼叫 FindNextFile 一次。
注意
並非所有文件系統都使用相同的語意來實作此函式傳回的時間戳。 如果基礎文件系統或伺服器不支援保留 time 屬性,此函式可能會傳回其他時間戳函式所傳回的相同值。 如需時間格式的相關信息,請參閱WIN32_FIND_DATA結構。 在某些操作系統上,傳回的時間位於本機計算機的時區,檔案所在的位置。 如需詳細資訊,請參閱 Win32 FileTimeToLocalFileTime API。
CGopherFileFind::GetLength
呼叫這個成員函式,以取得所找到檔案的長度,以位元組為單位。
virtual ULONGLONG GetLength() const;
傳回值
所找到檔案的長度,以位元組為單位。
備註
GetLength
會使用 Win32 結構 WIN32_FIND_DATA ,以位元組為單位取得檔案大小的值。
注意
從 MFC 7.0 起, GetLength
支援 64 位整數類型。 先前以這個較新版本連結庫建置的程式代碼可能會導致截斷警告。
範例
請參閱 CFile::GetLength 的範例(基類實作)。
CGopherFileFind::GetLocator
呼叫此成員函式以取得 FindFile 用來尋找 gopher 檔案的 CGopherLocator 物件。
CGopherLocator GetLocator() const;
傳回值
CGopherLocator
物件。
CGopherFileFind::GetScreenName
呼叫此成員函式以取得 gopher 畫面的名稱。
CString GetScreenName() const;
傳回值
gopher 畫面的名稱。
CGopherFileFind::IsDots
在逐一查看檔案時,測試目前目錄和父目錄標記。
virtual BOOL IsDots() const;
傳回值
如果找到的檔案名稱為 「.」 或 「..」 ,則為非零,表示找到的檔案實際上是目錄。 否則為 0。
備註
您至少必須在呼叫 IsDots
之前呼叫 FindNextFile 一次。
另請參閱
CFileFind 類別
階層架構圖表
CFtpFileFind 類別
CFileFind 類別
CInternetFile 類別
CGopherFile 類別
CHttpFile 類別