Compartilhar via


Classe CGopherFileFind

Ajuda nas pesquisas de arquivos na Internet de servidores gopher.

Observação

As classes CGopherConnection, CGopherFile, CGopherFileFind, CGopherLocator e seus membros foram preteridos porque não funcionam na plataforma Windows XP, mas continuarão a funcionar em plataformas anteriores.

Sintaxe

class CGopherFileFind : public CFileFind

Membros

Construtores públicos

Nome Descrição
CGopherFileFind::CGopherFileFind Constrói um objeto CGopherFileFind.

Métodos públicos

Nome Descrição
CGopherFileFind::FindFile Localiza um arquivo em um servidor gopher.
CGopherFileFind::FindNextFile Continua uma pesquisa de arquivo de uma chamada anterior para FindFile.
CGopherFileFind::GetCreationTime Obtém a hora em que o arquivo foi criado.
CGopherFileFind::GetLastAccessTime Obtém a hora em que o arquivo especificado foi acessado pela última vez.
CGopherFileFind::GetLastWriteTime Obtém a hora em que o arquivo especificado foi gravado pela última vez.
CGopherFileFind::GetLength Obtém o tamanho do arquivo encontrado, em bytes.
CGopherFileFind::GetLocator Obter um objeto CGopherLocator.
CGopherFileFind::GetScreenName Obtém o nome de uma tela gopher.
CGopherFileFind::IsDots Testa o diretório atual e os marcadores de diretório pai durante a iteração pelos arquivos.

Comentários

CGopherFileFind inclui funções membro que iniciam uma pesquisa, localizam um arquivo e retornam a URL de um arquivo.

Outras classes MFC projetadas para Internet e arquivo local pesquisadas incluem CFtpFileFind e CFileFind. Juntamente com CGopherFileFind, essas classes fornecem um mecanismo contínuo para o usuário localizar arquivos específicos, independentemente do protocolo do servidor, tipo de arquivo ou local (uma máquina local ou um servidor remoto). Observe que não há classe MFC para pesquisando em servidores HTTP porque o HTTP não suporta a manipulação direta de arquivos exigida pelas pesquisas.

Observação

CGopherFileFind não oferece suporte às seguintes funções membro de sua classe base CFileFind:

Além disso, quando usado com CGopherFileFinda CFileFind função membro IsDots é sempre FALSE.

Para obter mais informações sobre como usar CGopherFileFind e outras classes de WinInet, consulte o artigo Programação de Internet com WinInet.

Hierarquia de herança

CObject

CFileFind

CGopherFileFind

Requisitos

Cabeçalho: afxinet.h

CGopherFileFind::CGopherFileFind

Essa função membro é chamada para construir um objeto CGopherFileFind.

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

Parâmetros

pConnection
Um ponteiro para um objeto CGopherConnection.

dwContext
O identificador de contexto da operação. Confira Comentários para obter mais informações sobre dwContext.

Comentários

O valor padrão para dwContext é enviado pelo MFC para o objeto CGopherFileFind do objeto CInternetSession que criou o objeto CGopherFileFind. Ao construir um objeto CGopherFileFind, você pode substituir o padrão para definir o identificador de contexto para um valor de sua escolha. O identificador de contexto retorna para CInternetSession::OnStatusCallback para fornecer status sobre o objeto com o qual é identificado. Confira o artigo Primeiras etapas da Internet: WinInet para mais informações sobre o identificador de contexto.

CGopherFileFind::FindFile

Chame essa função membro para encontrar um arquivo 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
Uma referência a um objeto CGopherLocator.

pstrString
Um ponteiro para uma cadeia de caracteres que contém o nome do arquivo.

dwFlags
Os sinalizadores que descrevem como lidar com essa sessão. Os sinalizadores válidos são:

  • INTERNET_FLAG_RELOAD Obtenha os dados do servidor remoto mesmo que sejam armazenados em cache localmente.

  • INTERNET_FLAG_DONT_CACHE Não armazene os dados em cache nem localmente, nem em gateway.

  • INTERNET_FLAG_SECURE Solicite transações seguras na transmissão com Secure Sockets Layer ou PCT. Esse sinalizador é aplicável somente a solicitações HTTP.

  • INTERNET_FLAG_USE_EXISTING Se possível, reutilize as conexões existentes com o servidor para novas solicitações FindFile, em vez de criar uma nova sessão para cada solicitação.

Valor de Devolução

Diferente de zero se tiver êxito; caso contrário, 0. Para obter informações de erro estendidas, chame a função GetLastError do Win32.

Comentários

Depois de chamar FindFile para recuperar o primeiro objeto gopher, você pode chamar FindNextFile para recuperar arquivos gopher subsequentes.

CGopherFileFind::FindNextFile

Chame essa função membro para continuar uma pesquisa de arquivo iniciada com uma chamada para CGopherFileFind::FindFile.

virtual BOOL FindNextFile();

Valor de Devolução

Diferente de zero se houver mais arquivos, zero se o arquivo encontrado for o último no diretório ou se ocorreu um erro. Para obter informações de erro estendidas, chame a função GetLastError do Win32. Se o arquivo encontrado for o último arquivo no diretório ou se nenhum arquivo correspondente puder ser encontrado, a função GetLastError retornará ERROR_NO_MORE_FILES.

CGopherFileFind::GetCreationTime

Obtém a hora de criação do arquivo atual.

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

Parâmetros

pTimeStamp
Um ponteiro para uma estrutura FILETIME que contém a hora em que o arquivo foi criado.

refTime
Uma referência a um objeto CTime.

Valor de Devolução

Um valor diferente de zero, se tiver êxito. 0, se falhar. GetCreationTime retorna 0 somente se FindNextFile nunca foi chamado neste objeto CGopherFileFind.

Comentários

Você deve chamar FindNextFile pelo menos uma vez antes de chamar GetCreationTime.

Observação

Nem todos os sistemas de arquivos usam a mesma semântica para implementar o carimbo de data/hora retornado por essa função. Essa função pode retornar o mesmo valor retornado por outras funções de carimbo de data/hora, se o sistema de arquivos ou servidor subjacente não permitir a manutenção do atributo de hora. Consulte a estrutura WIN32_FIND_DATA para obter informações sobre formatos de hora. Em alguns sistemas operacionais, a hora retornada está no fuso horário local da máquina em que o arquivo está localizado. Consulte a API Win32 FileTimeToLocalFileTime para obter mais informações.

CGopherFileFind::GetLastAccessTime

Obtém a hora em que o arquivo especificado foi acessado pela última vez.

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

Parâmetros

refTime
Uma referência a um objeto CTime.

pTimeStamp
Um ponteiro para uma estrutura FILETIME que contém a hora em que o arquivo foi acessado pela última vez.

Valor de Devolução

Um valor diferente de zero, se tiver êxito. 0, se falhar. GetLastAccessTime retorna 0 somente se FindNextFile nunca foi chamado neste objeto CGopherFileFind.

Comentários

Você deve chamar FindNextFile pelo menos uma vez antes de chamar GetLastAccessTime.

Observação

Nem todos os sistemas de arquivos usam a mesma semântica para implementar o carimbo de data/hora retornado por essa função. Essa função pode retornar o mesmo valor retornado por outras funções de carimbo de data/hora, se o sistema de arquivos ou servidor subjacente não permitir a manutenção do atributo de hora. Consulte a estrutura WIN32_FIND_DATA para obter informações sobre formatos de hora. Em alguns sistemas operacionais, a hora retornada está no fuso horário local da máquina em que o arquivo está localizado. Consulte a API Win32 FileTimeToLocalFileTime para obter mais informações.

CGopherFileFind::GetLastWriteTime

Obtém a última vez que o arquivo foi alterado.

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

Parâmetros

pTimeStamp
Um ponteiro para uma estrutura FILETIME contendo a hora em que o arquivo foi gravado pela última vez.

refTime
Uma referência a um objeto CTime.

Valor de Devolução

Um valor diferente de zero, se tiver êxito. 0, se falhar. GetLastWriteTime retorna 0 somente se FindNextFile nunca foi chamado neste objeto CGopherFileFind.

Comentários

Você deve chamar FindNextFile pelo menos uma vez antes de chamar GetLastWriteTime.

Observação

Nem todos os sistemas de arquivos usam a mesma semântica para implementar o carimbo de data/hora retornado por essa função. Essa função pode retornar o mesmo valor retornado por outras funções de carimbo de data/hora, se o sistema de arquivos ou servidor subjacente não permitir a manutenção do atributo de hora. Consulte a estrutura WIN32_FIND_DATA para obter informações sobre formatos de hora. Em alguns sistemas operacionais, a hora retornada está no fuso horário local da máquina em que o arquivo está localizado. Consulte a API Win32 FileTimeToLocalFileTime para obter mais informações.

CGopherFileFind::GetLength

Chame essa função membro para obter o comprimento, em bytes, do arquivo encontrado.

virtual ULONGLONG GetLength() const;

Valor de Devolução

O tamanho, em bytes, do arquivo encontrado.

Comentários

GetLength usa a estrutura Win32 WIN32_FIND_DATA para obter o valor do tamanho do arquivo em bytes.

Observação

A partir do MFC 7.0, GetLength dá suporte a tipos de inteiros de 64 bits. O código existente anteriormente, criado com essa versão mais recente da biblioteca, pode resultar em avisos de truncamento.

Exemplo

Consulte o exemplo para CFile::GetLength (a implementação da classe base).

CGopherFileFind::GetLocator

Chame essa função membro para obter o objeto CGopherLocator que FindFile usa para localizar o arquivo gopher.

CGopherLocator GetLocator() const;

Valor de Devolução

Um objeto CGopherLocator.

CGopherFileFind::GetScreenName

Chame essa função membro para obter o nome da tela gopher.

CString GetScreenName() const;

Valor de Devolução

O nome da tela gopher.

CGopherFileFind::IsDots

Testa o diretório atual e os marcadores de diretório pai durante a iteração pelos arquivos.

virtual BOOL IsDots() const;

Valor de Devolução

Um valor diferente de zero, se o arquivo encontrado tiver o nome "." ou "..", o que indica que o arquivo encontrado é, na verdade, um diretório. Caso contrário, 0.

Comentários

Você deve chamar FindNextFile pelo menos uma vez antes de chamar IsDots.

Confira também

Classe CFileFind
Gráfico da hierarquia
Classe CFtpFileFind
Classe CFileFind
Classe CInternetFile
Classe CGopherFile
Classe CHttpFile