Compartir a través de


Clase CGopherFileFind

Ayuda en las búsquedas de archivos de Internet de servidores gopher.

Nota:

Las clases CGopherConnection, CGopherFile, CGopherFileFind, CGopherLocator y sus miembros han quedado en desuso porque no funcionan en la plataforma Windows XP, pero seguirán funcionando en las plataformas anteriores.

Sintaxis

class CGopherFileFind : public CFileFind

Miembros

Constructores públicos

Nombre Descripción
CGopherFileFind::CGopherFileFind Construye un objeto CGopherFileFind.

Métodos públicos

Nombre Descripción
CGopherFileFind::FindFile Busca un archivo en un servidor gopher.
CGopherFileFind::FindNextFile Continúa una búsqueda de archivos desde una llamada anterior a FindFile.
CGopherFileFind::GetCreationTime Obtiene la hora en la que se creó el archivo especificado.
CGopherFileFind::GetLastAccessTime Obtiene la hora en que se obtuvo acceso por última vez al archivo especificado.
CGopherFileFind::GetLastWriteTime Obtiene la hora en que se escribió por última vez el archivo especificado.
CGopherFileFind::GetLength Obtiene la longitud del archivo encontrado, en bytes.
CGopherFileFind::GetLocator Obtiene un objeto CGopherLocator.
CGopherFileFind::GetScreenName Obtiene el nombre de una pantalla gopher.
CGopherFileFind::IsDots Comprueba los marcadores de directorio y el directorio primario actual mientras recorre en iteración los archivos.

Comentarios

CGopherFileFind incluye las funciones miembro que inician una búsqueda, localizan un archivo y devuelven la dirección URL de un archivo.

Otras clases MFC diseñadas para Internet y el archivo local buscado incluyen CFtpFileFind y CFileFind. Junto con CGopherFileFind, estas clases proporcionan un mecanismo sin problemas para que el usuario encuentre archivos específicos, independientemente del protocolo del servidor, el tipo de archivo o la ubicación (ya sea un equipo local o un servidor remoto). Tenga en cuenta que no hay ninguna clase MFC para buscar en servidores HTTP porque HTTP no admite la manipulación directa de archivos requerida por las búsquedas.

Nota:

CGopherFileFind no admite las siguientes funciones miembro de su clase base CFileFind:

Además, cuando se usa con CGopherFileFind, la función miembro CFileFind IsDots siempre es FALSE.

Para más información sobre cómo usar CGopherFileFind y las otras clases de WinInet, consulte el artículo Programación de Internet con WinInet.

Jerarquía de herencia

CObject

CFileFind

CGopherFileFind

Requisitos

Encabezado: afxinet.h

CGopherFileFind::CGopherFileFind

Se llama a esta función miembro para construir un objeto CGopherFileFind.

explicit CGopherFileFind(
    CGopherConnection* pConnection,
    DWORD_PTR dwContext = 1);

Parámetros

pConnection
Puntero a un objeto CGopherConnection.

dwContext
Identificador de contexto de la operación. Vea Comentarios para obtener más información sobre dwContext.

Comentarios

MFC envía el valor predeterminado de dwContext al objeto CGopherFileFind desde el objeto CInternetSession que creó el objeto CGopherFileFind. Al construir un objetoCGopherFileFind, se puede invalidar el valor predeterminado para establecer el identificador de contexto en un valor de su elección. El identificador de contexto se devuelve a CInternetSession::OnStatusCallback para proporcionar el estado del objeto con el que se identifica. Vea el artículo Internet First Steps: WinInet para obtener más información sobre el identificador de contexto.

CGopherFileFind::FindFile

Llame a esta función miembro para buscar un archivo gopher.

virtual BOOL FindFile(
    CGopherLocator& refLocator,
    LPCTSTR pstrString,
    DWORD dwFlags = INTERNET_FLAG_RELOAD);

virtual BOOL FindFile(
    LPCTSTR pstrString,
    DWORD dwFlags = INTERNET_FLAG_RELOAD);

Parámetros

refLocator
Referencia a un objeto CGopherLocator.

pstrString
Puntero a una cadena que contiene el nombre de archivo.

dwFlags
Marcas que describen cómo controlar esta sesión. Las marcas válidas son:

  • INTERNET_FLAG_RELOAD obtiene los datos del servidor remoto aunque se almacenen en caché localmente.

  • INTERNET_FLAG_DONT_CACHE no almacena en caché los datos, ya sea localmente o en ninguna puerta de enlace.

  • INTERNET_FLAG_SECURE solicita transacciones seguras en la conexión con la capa de sockets seguros o PCT. Esta marca se aplica a las solicitudes HTTP solamente.

  • INTERNET_FLAG_USE_EXISTING Si es posible, reutilice las conexiones existentes al servidor para las nuevas solicitudes FindFile, en lugar de crear una nueva sesión para cada solicitud.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero. Para más información de los errores, llame a la función Win32 GetLastError.

Comentarios

Después de llamar a FindFile para recuperar el primer objeto gopher, se puede llamar a FindNextFile para recuperar los archivos gopher posteriores.

CGopherFileFind::FindNextFile

Llame a esta función miembro para continuar una búsqueda de archivos iniciada con una llamada a CGopherFileFind::FindFile.

virtual BOOL FindNextFile();

Valor devuelto

Distinto de cero si hay más archivos; cero si el archivo encontrado es el último del directorio o si se produjo un error. Para más información de los errores, llame a la función Win32 GetLastError. Si el archivo encontrado es el último archivo del directorio o si no se encuentra ningún archivo coincidente, la función GetLastError devuelve ERROR_NO_MORE_FILES.

CGopherFileFind::GetCreationTime

Obtiene la hora en que se creó de archivo actual.

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

Parámetros

pTimeStamp
Puntero a una estructura FILETIME que contiene la hora en que se creó el archivo.

refTime
Referencia a un objeto CTime.

Valor devuelto

Distinto de cero si se realiza correctamente; 0 si no. GetCreationTime devuelve 0 solo si nunca se ha llamado a FindNextFile en este objeto CGopherFileFind.

Comentarios

Se debe llamar a FindNextFile al menos una vez antes de llamar a GetCreationTime.

Nota:

No todos los sistemas de archivos usan la misma semántica para implementar la marca de tiempo devuelta por esta función. Esta función puede devolver el mismo valor devuelto por otras funciones de marca de tiempo si el servidor o el sistema de archivos subyacentes no admiten mantener el atributo del tiempo. Consulte la estructura de datos WIN32_FIND_DATA para obtener información sobre los formatos de hora. En algunos sistemas operativos, la hora devuelta se encuentra en la zona horaria local de la máquina donde se encuentra el archivo. Consulte la API FileTimeToLocalFileTime de Win32 para obtener más información.

CGopherFileFind::GetLastAccessTime

Obtiene la hora en que se obtuvo acceso por última vez al archivo especificado.

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

Parámetros

refTime
Referencia a un objeto CTime.

pTimeStamp
Puntero a una estructura FILETIME que contiene la hora en que se accedió por última vez al archivo.

Valor devuelto

Distinto de cero si se realiza correctamente; 0 si no. GetLastAccessTime devuelve 0 solo si nunca se ha llamado a FindNextFile en este objeto CGopherFileFind.

Comentarios

Se debe llamar a FindNextFile al menos una vez antes de llamar a GetLastAccessTime.

Nota:

No todos los sistemas de archivos usan la misma semántica para implementar la marca de tiempo devuelta por esta función. Esta función puede devolver el mismo valor devuelto por otras funciones de marca de tiempo si el servidor o el sistema de archivos subyacentes no admiten mantener el atributo del tiempo. Consulte la estructura de datos WIN32_FIND_DATA para obtener información sobre los formatos de hora. En algunos sistemas operativos, la hora devuelta se encuentra en la zona horaria local de la máquina donde se encuentra el archivo. Consulte la API FileTimeToLocalFileTime de Win32 para obtener más información.

CGopherFileFind::GetLastWriteTime

Obtiene la última vez que se cambió el archivo.

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

Parámetros

pTimeStamp
Puntero a una estructura FILETIME que contiene la hora en que se escribió por última vez el archivo.

refTime
Referencia a un objeto CTime.

Valor devuelto

Distinto de cero si se realiza correctamente; 0 si no. GetLastWriteTime devuelve 0 solo si nunca se ha llamado a FindNextFile en este objeto CGopherFileFind.

Comentarios

Se debe llamar a FindNextFile al menos una vez antes de llamar a GetLastWriteTime.

Nota:

No todos los sistemas de archivos usan la misma semántica para implementar la marca de tiempo devuelta por esta función. Esta función puede devolver el mismo valor devuelto por otras funciones de marca de tiempo si el servidor o el sistema de archivos subyacentes no admiten mantener el atributo del tiempo. Consulte la estructura de datos WIN32_FIND_DATA para obtener información sobre los formatos de hora. En algunos sistemas operativos, la hora devuelta se encuentra en la zona horaria local de la máquina donde se encuentra el archivo. Consulte la API FileTimeToLocalFileTime de Win32 para obtener más información.

CGopherFileFind::GetLength

Llame a esta función miembro para obtener la longitud en bytes del archivo encontrado.

virtual ULONGLONG GetLength() const;

Valor devuelto

Longitud en bytes del archivo encontrado.

Comentarios

GetLength usa la estructura Win32 WIN32_FIND_DATA para obtener el valor del tamaño del archivo en bytes.

Nota:

A partir de MFC 7.0, GetLength admite tipos enteros de 64 bits. El código existente previamente construido con esta versión más reciente de la biblioteca puede dar lugar a advertencias de truncamiento.

Ejemplo

Consulte el ejemplo de CFile::GetLength (la implementación de la clase base).

CGopherFileFind::GetLocator

Llame a esta función miembro para obtener el objeto CGopherLocator que FindFile usa para buscar el archivo gopher.

CGopherLocator GetLocator() const;

Valor devuelto

Un objeto CGopherLocator.

CGopherFileFind::GetScreenName

Llame a esta función miembro para obtener el nombre de la pantalla gopher.

CString GetScreenName() const;

Valor devuelto

Nombre de la pantalla gopher.

CGopherFileFind::IsDots

Comprueba los marcadores de directorio y el directorio primario actual mientras recorre en iteración los archivos.

virtual BOOL IsDots() const;

Valor devuelto

Distinto de cero si el archivo encontrado tiene el nombre "." o "..", que indica que el archivo encontrado es realmente un directorio. De lo contrario, 0.

Comentarios

Se debe llamar a FindNextFile al menos una vez antes de llamar a IsDots.

Consulte también

CFileFind (clase)
Gráfico de jerarquías
CFtpFileFind (clase)
CFileFind (clase)
CInternetFile (clase)
CGopherFile (clase)
CHttpFile (clase)