Udostępnij za pośrednictwem


Klasa CGopherFileFind

Pomoc w wyszukiwaniu plików internetowych serwerów gopher.

Uwaga

Klasy CGopherConnection, CGopherFile, CGopherFileFindCGopherLocator 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 CGopherFileFindte 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 CGopherFileFindCFileFind 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

Obiekt CObject

CFileFind

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 GetCreationTimenależ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 GetLastAccessTimenależ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 GetLastWriteTimenależ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 IsDotsnależy wywołać metodę FindNextFile co najmniej raz.

Zobacz też

Klasa CFileFind
Wykres hierarchii
Klasa CFtpFileFind
Klasa CFileFind
Klasa CInternetFile
Klasa CGopherFile
Klasa CHttpFile