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
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)