Поделиться через


Класс CGopherFileFind

Помогает в поиске файлов Интернета на серверах gopher.

Примечание.

Классы CGopherConnection, CGopherFileCGopherFileFindCGopherLocator и их члены были нерекомендуемы, поскольку они не работают на платформе 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:

Кроме того, при использовании с CGopherFileFindCFileFind функцией-членом IsDots всегда имеет значение FALSE.

Дополнительные сведения об использовании CGopherFileFind и других классах WinInet см. в статье "Интернет-программирование с помощью WinInet".

Иерархия наследования

CObject

CFileFind

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 , чтобы предоставить состояние объекта, с которым он определен. Дополнительные сведения об идентификаторе контекста см. в статье 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);

Параметры

Рефлокатор
Ссылка на объект CGopherLocator .

pstrString
Указатель на строку, содержащую имя файла.

dwFlags
Флаги, описывающие обработку этого сеанса. Допустимые флаги:

  • INTERNET_FLAG_RELOAD Получить данные с удаленного сервера, даже если он кэшируется локально.

  • INTERNET_FLAG_DONT_CACHE Не кэшируйте данные локально или в шлюзах.

  • INTERNET_FLAG_SECURE запрашивать безопасные транзакции по проводу с помощью уровня Secure Sockets или PCT. Этот флаг применим только к HTTP-запросам.

  • INTERNET_FLAG_USE_EXISTING По возможности повторно используйте существующие подключения к серверу для новых FindFile запросов вместо создания нового сеанса для каждого запроса.

Возвращаемое значение

Имеет ненулевое значение в случае успешного выполнения, иначе — 0. Чтобы получить расширенные сведения об ошибке, вызовите функцию Win32 GetLastError.

Замечания

После вызова FindFile для получения первого объекта gopher можно вызвать FindNextFile , чтобы получить последующие файлы шифров.

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 возвращает значение 0, только если FindNextFile никогда не вызывался для этого CGopherFileFind объекта.

Замечания

Перед вызовом GetCreationTimeнеобходимо вызвать FindNextFile по крайней мере один раз.

Примечание.

Не все файловые системы используют ту же семантику для реализации метки времени, возвращаемой этой функцией. Эта функция может возвращать то же значение, возвращаемое другими функциями метки времени, если базовая файловая система или сервер не поддерживает сохранение атрибута времени. Сведения о форматах времени см. в структуре WIN32_FIND_DATA . В некоторых операционных системах возвращенное время находится в локальном часовом поясе компьютера, где находится файл. Дополнительные сведения см. в API Win32 FileTimeToLocalFileTime .

CGopherFileFind::GetLastAccessTime

Возвращает время последнего доступа к указанному файлу.

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

Параметры

refTime
Ссылка на объект CTime .

pTimeStamp
Указатель на структуру FILETIME , содержащую время последнего доступа к файлу.

Возвращаемое значение

Ненулевое значение при успешном выполнении; 0, если неудачно. GetLastAccessTime возвращает значение 0, только если FindNextFile никогда не вызывался для этого CGopherFileFind объекта.

Замечания

Перед вызовом GetLastAccessTimeнеобходимо вызвать FindNextFile по крайней мере один раз.

Примечание.

Не все файловые системы используют ту же семантику для реализации метки времени, возвращаемой этой функцией. Эта функция может возвращать то же значение, возвращаемое другими функциями метки времени, если базовая файловая система или сервер не поддерживает сохранение атрибута времени. Сведения о форматах времени см. в структуре WIN32_FIND_DATA . В некоторых операционных системах возвращенное время находится в локальном часовом поясе компьютера, где находится файл. Дополнительные сведения см. в API Win32 FileTimeToLocalFileTime .

CGopherFileFind::GetLastWriteTime

Возвращает последний раз, когда файл был изменен.

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

Параметры

pTimeStamp
Указатель на структуру FILETIME , содержащую время последнего записи файла.

refTime
Ссылка на объект CTime .

Возвращаемое значение

Ненулевое значение при успешном выполнении; 0, если неудачно. GetLastWriteTime возвращает значение 0, только если FindNextFile никогда не вызывался для этого CGopherFileFind объекта.

Замечания

Перед вызовом GetLastWriteTimeнеобходимо вызвать FindNextFile по крайней мере один раз.

Примечание.

Не все файловые системы используют ту же семантику для реализации метки времени, возвращаемой этой функцией. Эта функция может возвращать то же значение, возвращаемое другими функциями метки времени, если базовая файловая система или сервер не поддерживает сохранение атрибута времени. Сведения о форматах времени см. в структуре WIN32_FIND_DATA . В некоторых операционных системах возвращенное время находится в локальном часовом поясе компьютера, где находится файл. Дополнительные сведения см. в API Win32 FileTimeToLocalFileTime .

CGopherFileFind::GetLength

Вызовите эту функцию-член, чтобы получить длину в байтах найденного файла.

virtual ULONGLONG GetLength() const;

Возвращаемое значение

Длина найденного файла в байтах.

Замечания

GetLength использует структуру Win32 WIN32_FIND_DATA для получения значения размера файла в байтах.

Примечание.

По состоянию на MFC 7.0 поддерживает GetLength 64-разрядные целые типы. Ранее существующий код, созданный с помощью этой более новой версии библиотеки, может привести к усечению предупреждений.

Пример

См. пример для CFile::GetLength (реализация базового класса).

CGopherFileFind::GetLocator

Вызовите эту функцию-член, чтобы получить объект CGopherLocator , который FindFile использует для поиска файла gopher.

CGopherLocator GetLocator() const;

Возвращаемое значение

Объект CGopherLocator.

CGopherFileFind::GetScreenName

Вызовите эту функцию-член, чтобы получить имя экрана gopher.

CString GetScreenName() const;

Возвращаемое значение

Имя экрана гофера.

CGopherFileFind::IsDots

Проверяет текущие маркеры каталога и родительского каталога при итерации файлов.

virtual BOOL IsDots() const;

Возвращаемое значение

Ненулевое значение, если найденный файл имеет имя "." или "..", указывающее, что найденный файл фактически является каталогом. В противном случае 0.

Замечания

Перед вызовом IsDotsнеобходимо вызвать FindNextFile по крайней мере один раз.

См. также

Класс CFileFind
Диаграмма иерархии
Класс CFtpFileFind
Класс CFileFind
Класс CInternetFile
Класс CGopherFile
Класс CHttpFile