Klasa CGopherFileFind
Pomoc w wyszukiwaniu plików internetowych serwerów gopher.
Uwaga
Klasy CGopherConnection
, CGopherFile
, CGopherFileFind
CGopherLocator
i ich składowe zostały przestarzałe, ponieważ nie działają na platformie Windows XP, ale będą nadal działać na wcześniejszych platformach.
Składnia
class CGopherFileFind : public CFileFind
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CGopherFileFind::CGopherFileFind | CGopherFileFind Tworzy obiekt. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CGopherFileFind::FindFile | Znajduje plik na serwerze gopher. |
CGopherFileFind::FindNextFile | Kontynuuje wyszukiwanie plików z poprzedniego wywołania metody FindFile. |
CGopherFileFind::GetCreationTime | Pobiera czas utworzenia określonego pliku. |
CGopherFileFind::GetLastAccessTime | Pobiera czas ostatniego uzyskania dostępu do określonego pliku. |
CGopherFileFind::GetLastWriteTime | Pobiera czas ostatniego zapisania określonego pliku. |
CGopherFileFind::GetLength | Pobiera długość znalezionego pliku w bajtach. |
CGopherFileFind::GetLocator | CGopherLocator Pobierz obiekt. |
CGopherFileFind::GetScreenName | Pobiera nazwę ekranu gopher. |
CGopherFileFind::IsDots | Testuje bieżące znaczniki katalogu i katalogu nadrzędnego podczas iteracji za pośrednictwem plików. |
Uwagi
CGopherFileFind
zawiera funkcje członkowskie, które rozpoczynają wyszukiwanie, lokalizują plik i zwracają adres URL pliku.
Inne klasy MFC przeznaczone dla wyszukiwanych plików internetowych i lokalnych obejmują CFtpFileFind i CFileFind. Razem z klasami CGopherFileFind
te zapewniają użytkownikowi bezproblemowy mechanizm znajdowania określonych plików, niezależnie od protokołu serwera, typu pliku lub lokalizacji (komputera lokalnego lub serwera zdalnego). Należy pamiętać, że nie ma klasy MFC do wyszukiwania na serwerach HTTP, ponieważ protokół HTTP nie obsługuje bezpośredniej manipulacji plikami wymaganej przez wyszukiwania.
Uwaga
CGopherFileFind
program nie obsługuje następujących funkcji składowych klasy bazowej CFileFind:
Ponadto w przypadku użycia z elementem CGopherFileFind
CFileFind
funkcja składowa IsDots zawsze ma wartość FALSE.
Aby uzyskać więcej informacji na temat używania CGopherFileFind
i innych klas WinInet, zobacz artykuł Internet Programming with WinInet (Programowanie internetowe za pomocą usługi WinInet).
Hierarchia dziedziczenia
CGopherFileFind
Wymagania
Nagłówek: afxinet.h
CGopherFileFind::CGopherFileFind
Ta funkcja składowa jest wywoływana w celu skonstruowania CGopherFileFind
obiektu.
explicit CGopherFileFind(
CGopherConnection* pConnection,
DWORD_PTR dwContext = 1);
Parametry
Połączenie p
Wskaźnik do obiektu CGopherConnection .
dwContext
Identyfikator kontekstu operacji. Zobacz Uwagi , aby uzyskać więcej informacji na temat dwContext.
Uwagi
Wartość domyślna dwContext jest wysyłana przez MFC do CGopherFileFind
obiektu z obiektu CInternetSession, który utworzył CGopherFileFind
obiekt. Podczas konstruowania CGopherFileFind
obiektu można zastąpić wartość domyślną, aby ustawić identyfikator kontekstu na wybraną wartość. Identyfikator kontekstu jest zwracany do CInternetSession::OnStatusCallback , aby podać stan obiektu, z którym został zidentyfikowany. Aby uzyskać więcej informacji na temat identyfikatora kontekstu, zobacz artykuł Internet First Steps: WinInet (Internet First Steps: WinInet: WinInet ).
CGopherFileFind::FindFile
Wywołaj tę funkcję składową, aby znaleźć plik gopher.
virtual BOOL FindFile(
CGopherLocator& refLocator,
LPCTSTR pstrString,
DWORD dwFlags = INTERNET_FLAG_RELOAD);
virtual BOOL FindFile(
LPCTSTR pstrString,
DWORD dwFlags = INTERNET_FLAG_RELOAD);
Parametry
refLocator
Odwołanie do obiektu CGopherLocator .
pstrString
Wskaźnik do ciągu zawierającego nazwę pliku.
dwFlags
Flagi opisujące sposób obsługi tej sesji. Prawidłowe flagi to:
INTERNET_FLAG_RELOAD Pobierz dane z serwera zdalnego, nawet jeśli jest on lokalnie buforowany.
INTERNET_FLAG_DONT_CACHE Nie buforuj danych lokalnie lub w żadnych bramach.
INTERNET_FLAG_SECURE Zażądaj bezpiecznych transakcji na przewodach za pomocą protokołu Secure Sockets Layer lub PCT. Ta flaga ma zastosowanie tylko do żądań HTTP.
INTERNET_FLAG_USE_EXISTING Jeśli to możliwe, użyj ponownie istniejących połączeń z serwerem dla nowych
FindFile
żądań, zamiast tworzyć nową sesję dla każdego żądania.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0. Aby uzyskać rozszerzone informacje o błędzie, wywołaj funkcję Win32 GetLastError.
Uwagi
Po wywołaniu metody FindFile
w celu pobrania pierwszego obiektu gopher można wywołać metodę FindNextFile , aby pobrać kolejne pliki gopher.
CGopherFileFind::FindNextFile
Wywołaj tę funkcję składową, aby kontynuować wyszukiwanie plików rozpoczęte za pomocą wywołania metody CGopherFileFind::FindFile.
virtual BOOL FindNextFile();
Wartość zwracana
Niezerowe, jeśli istnieje więcej plików; zero, jeśli znaleziony plik jest ostatnim w katalogu lub jeśli wystąpił błąd. Aby uzyskać rozszerzone informacje o błędzie, wywołaj funkcję Win32 GetLastError. Jeśli znaleziony plik jest ostatnim plikiem w katalogu lub jeśli nie można odnaleźć pasujących plików, GetLastError
funkcja zwróci ERROR_NO_MORE_FILES.
CGopherFileFind::GetCreationTime
Pobiera czas tworzenia bieżącego pliku.
virtual BOOL GetCreationTime(FILETIME* pTimeStamp) const;
virtual BOOL GetCreationTime(CTime& refTime) const;
Parametry
pTimeStamp
Wskaźnik do struktury FILETIME zawierającej czas utworzenia pliku.
refTime
Odwołanie do obiektu CTime .
Wartość zwracana
Bezzerowe, jeśli się powiedzie; 0, jeśli nie powiedzie się. GetCreationTime
Zwraca wartość 0 tylko wtedy, gdy element FindNextFile nigdy nie został wywołany dla tego CGopherFileFind
obiektu.
Uwagi
Przed wywołaniem metody GetCreationTime
należy wywołać metodę FindNextFile co najmniej raz.
Uwaga
Nie wszystkie systemy plików używają tej samej semantyki, aby zaimplementować sygnaturę czasową zwracaną przez tę funkcję. Ta funkcja może zwrócić tę samą wartość zwracaną przez inne funkcje sygnatury czasowej, jeśli podstawowy system plików lub serwer nie obsługuje przechowywania atrybutu czasu. Zobacz strukturę WIN32_FIND_DATA, aby uzyskać informacje o formatach czasu. W niektórych systemach operacyjnych zwrócony czas znajduje się w strefie czasowej lokalnej dla maszyny, w których znajduje się plik. Aby uzyskać więcej informacji, zobacz interfejs API Win32 FileTimeToLocalFileTime .
CGopherFileFind::GetLastAccessTime
Pobiera czas ostatniego uzyskania dostępu do określonego pliku.
virtual BOOL GetLastAccessTime(CTime& refTime) const;
virtual BOOL GetLastAccessTime(FILETIME* pTimeStamp) const;
Parametry
refTime
Odwołanie do obiektu CTime .
pTimeStamp
Wskaźnik do struktury FILETIME zawierającej czas ostatniego uzyskania dostępu do pliku.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; 0, jeśli nie powiedzie się. GetLastAccessTime
Zwraca wartość 0 tylko wtedy, gdy element FindNextFile nigdy nie został wywołany dla tego CGopherFileFind
obiektu.
Uwagi
Przed wywołaniem metody GetLastAccessTime
należy wywołać metodę FindNextFile co najmniej raz.
Uwaga
Nie wszystkie systemy plików używają tej samej semantyki, aby zaimplementować sygnaturę czasową zwracaną przez tę funkcję. Ta funkcja może zwrócić tę samą wartość zwracaną przez inne funkcje sygnatury czasowej, jeśli podstawowy system plików lub serwer nie obsługuje przechowywania atrybutu czasu. Zobacz strukturę WIN32_FIND_DATA, aby uzyskać informacje o formatach czasu. W niektórych systemach operacyjnych zwrócony czas znajduje się w strefie czasowej lokalnej dla maszyny, w których znajduje się plik. Aby uzyskać więcej informacji, zobacz interfejs API Win32 FileTimeToLocalFileTime .
CGopherFileFind::GetLastWriteTime
Pobiera ostatni raz, gdy plik został zmieniony.
virtual BOOL GetLastWriteTime(FILETIME* pTimeStamp) const;
virtual BOOL GetLastWriteTime(CTime& refTime) const;
Parametry
pTimeStamp
Wskaźnik do struktury FILETIME zawierającej czas ostatniego zapisania pliku.
refTime
Odwołanie do obiektu CTime .
Wartość zwracana
Bezzerowe, jeśli się powiedzie; 0, jeśli nie powiedzie się. GetLastWriteTime
Zwraca wartość 0 tylko wtedy, gdy element FindNextFile nigdy nie został wywołany dla tego CGopherFileFind
obiektu.
Uwagi
Przed wywołaniem metody GetLastWriteTime
należy wywołać metodę FindNextFile co najmniej raz.
Uwaga
Nie wszystkie systemy plików używają tej samej semantyki, aby zaimplementować sygnaturę czasową zwracaną przez tę funkcję. Ta funkcja może zwrócić tę samą wartość zwracaną przez inne funkcje sygnatury czasowej, jeśli podstawowy system plików lub serwer nie obsługuje przechowywania atrybutu czasu. Zobacz strukturę WIN32_FIND_DATA, aby uzyskać informacje o formatach czasu. W niektórych systemach operacyjnych zwrócony czas znajduje się w strefie czasowej lokalnej dla maszyny, w których znajduje się plik. Aby uzyskać więcej informacji, zobacz interfejs API Win32 FileTimeToLocalFileTime .
CGopherFileFind::GetLength
Wywołaj tę funkcję składową, aby uzyskać długość pliku znalezionego w bajtach.
virtual ULONGLONG GetLength() const;
Wartość zwracana
Długość znalezionego pliku w bajtach.
Uwagi
GetLength
używa struktury Win32 WIN32_FIND_DATA , aby uzyskać wartość rozmiaru pliku w bajtach.
Uwaga
Od MFC 7.0 GetLength
obsługuje 64-bitowe typy całkowite. Wcześniej istniejący kod utworzony przy użyciu tej nowszej wersji biblioteki może spowodować obcinanie ostrzeżeń.
Przykład
Zobacz przykład dla CFile::GetLength (implementacja klasy bazowej).
CGopherFileFind::GetLocator
Wywołaj tę funkcję składową, aby pobrać obiekt CGopherLocator używany przez funkcję FindFile do znalezienia pliku gopher.
CGopherLocator GetLocator() const;
Wartość zwracana
Obiekt CGopherLocator
.
CGopherFileFind::GetScreenName
Wywołaj tę funkcję składową, aby uzyskać nazwę ekranu gopher.
CString GetScreenName() const;
Wartość zwracana
Nazwa ekranu gopher.
CGopherFileFind::IsDots
Testuje bieżące znaczniki katalogu i katalogu nadrzędnego podczas iteracji za pośrednictwem plików.
virtual BOOL IsDots() const;
Wartość zwracana
Nonzero, jeśli znaleziony plik ma nazwę "." lub "..", co wskazuje, że znaleziony plik jest rzeczywiście katalogiem. W przeciwnym razie 0.
Uwagi
Przed wywołaniem metody IsDots
należy wywołać metodę FindNextFile co najmniej raz.
Zobacz też
Klasa CFileFind
Wykres hierarchii
Klasa CFtpFileFind
Klasa CFileFind
Klasa CInternetFile
Klasa CGopherFile
Klasa CHttpFile