CFtpFileFind osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

Az FTP-kiszolgálók internetes fájlkeresésének segédletei.

Szemantika

class CFtpFileFind : public CFileFind

Tagok

Nyilvános konstruktorok

Név Description
CFtpFileFind::CFtpFileFind Egy CFtpFileFind objektumot hoz létre.

Nyilvános metódusok

Név Description
CFtpFileFind::FindFile Fájl keresése FTP-kiszolgálón.
CFtpFileFind::FindNextFile Folytatja a fájlkeresést a FindFile korábbi hívásából.
CFtpFileFind::GetFileURL Lekéri a talált fájl URL-címét, beleértve az elérési utat is.

Megjegyzések

CFtpFileFind olyan tagfüggvényeket tartalmaz, amelyek keresést indítanak, megkeresnek egy fájlt, és visszaadják a fájl URL-címét vagy más leíró adatait.

Az internethez és a helyi fájlkereséshez tervezett egyéb MFC-osztályok közé tartozik a CGopherFileFind és a CFileFind. Ezekkel az osztályokkal CFtpFileFindegyütt zökkenőmentes mechanizmust biztosítanak az ügyfél számára adott fájlok megkereséséhez, függetlenül attól, hogy a kiszolgáló protokollja vagy fájltípusa (helyi gép vagy távoli kiszolgáló). A HTTP-kiszolgálókon való kereséshez nincs MFC-osztály, mert a HTTP nem támogatja a keresésekhez szükséges közvetlen fájlkezelést.

A használat CFtpFileFind módjáról és a WinInet többi osztályáról a WinInettel való internetes programozás című cikkben talál további információt.

Example

Az alábbi kód bemutatja, hogyan sorolhatja fel az FTP-kiszolgáló aktuális könyvtárában lévő összes fájlt.

// create a session object to initialize WININET library
// Default parameters mean the access method in the registry
// (that is, set by the "Internet" icon in the Control Panel)
// will be used.

CInternetSession sess(_T("My FTP Session"));

CFtpConnection *pConnect = NULL;

try
{
   // Request a connection to ftp.microsoft.com. Default
   // parameters mean that we'll try with username = ANONYMOUS
   // and password set to the machine name @ domain name
   pConnect = sess.GetFtpConnection(_T("ftp.microsoft.com"));

   // use a file find object to enumerate files
   CFtpFileFind finder(pConnect);

   // start looping
   BOOL bWorking = finder.FindFile(_T("*"));

   while (bWorking)
   {
      bWorking = finder.FindNextFile();
      _tprintf_s(_T("%s\n"), (LPCTSTR)finder.GetFileURL());
   }
}
catch (CInternetException *pEx)
{
   TCHAR sz[1024];
   pEx->GetErrorMessage(sz, 1024);
   _tprintf_s(_T("ERROR!  %s\n"), sz);
   pEx->Delete();
}

// if the connection is open, close it
if (pConnect != NULL)
{
   pConnect->Close();
   delete pConnect;
}

Öröklési hierarchia

CObject

CFileFind

CFtpFileFind

Requirements

Fejléc: afxinet.h

CFtpFileFind::CFtpFileFind

Ez a tagfüggvény egy CFtpFileFind objektum létrehozásához van meghívva.

explicit CFtpFileFind(
    CFtpConnection* pConnection,
    DWORD_PTR dwContext = 1);

Paraméterek

pConnection
Egy objektumra mutató CFtpConnection mutató. Ftp-kapcsolatot a CInternetSession::GetFtpConnection hívásával szerezhet be.

dwContext
Az objektum környezeti azonosítója CFtpFileFind . További információkért tekintse meg az alábbi megjegyzéseket.

Megjegyzések

A dwContext alapértelmezett értékét az MFC küldi el az CFtpFileFind objektumnak az objektumot létrehozó CFtpFileFindCInternetSession objektumból. Felülbírálhatja az alapértelmezett beállítást, ha a környezetazonosítót egy ön által választott értékre állítja. A rendszer visszaadja a környezetazonosítót a CInternetSession::OnStatusCallback fájlnak, hogy állapotot adjon meg azon az objektumon, amellyel azonosították. A környezetazonosítóval kapcsolatos további információkért tekintse meg az internet első lépései: WinInet című cikket.

Example

Tekintse meg a jelen témakör korábbi, osztályáttekintő példáját.

CFtpFileFind::FindFile

A tagfüggvény meghívása FTP-fájl megkereséséhez.

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

Paraméterek

pstrName
A keresett fájl nevét tartalmazó sztringre mutató mutató. Null érték esetén a hívás helyettesítő karakteres keresést (*) hajt végre.

dwFlags
A munkamenet kezelését leíró jelzők. Ezek a jelzők a bitenkénti OR operátorral (|) kombinálhatók, és a következők:

  • INTERNET_FLAG_RELOAD Kérje le az adatokat a vezetékről, még akkor is, ha azokat helyileg gyorsítótárazza. Ez az alapértelmezett jelző.

  • INTERNET_FLAG_DONT_CACHE Ne gyorsítótárazza az adatokat helyileg vagy átjárókban.

  • INTERNET_FLAG_RAW_DATA Felülbírálja az alapértelmezett értéket a nyers adatok visszaadásához ( WIN32_FIND_DATA FTP-struktúrákhoz).

  • INTERNET_FLAG_SECURE Biztonságossá teheti a tranzakciókat a vezetéken a Secure Sockets Layer vagy a PCT használatával. Ez a jelző csak HTTP-kérelmekre vonatkozik.

  • INTERNET_FLAG_EXISTING_CONNECT Ha lehetséges, használja újra a kiszolgáló meglévő kapcsolatait új FindFile kérésekhez ahelyett, hogy minden kéréshez új munkamenetet hoz létre.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0. A kiterjesztett hibainformációk lekéréséhez hívja meg a GetLastError Win32 függvényt.

Megjegyzések

Miután meghívta FindFile az első FTP-fájlt, meghívhatja a FindNextFile-t a későbbi FTP-fájlok lekéréséhez.

Example

Tekintse meg a jelen témakör korábbi példáját.

CFtpFileFind::FindNextFile

Hívja meg ezt a tagfüggvényt a FindFile tagfüggvény hívásával megkezdett fájlkeresés folytatásához.

virtual BOOL FindNextFile();

Visszaadott érték

Nonzero, ha több fájl van; nulla, ha a talált fájl az utolsó a könyvtárban, vagy ha hiba történt. A kiterjesztett hibainformációk lekéréséhez hívja meg a GetLastError Win32 függvényt. Ha a talált fájl az utolsó fájl a könyvtárban, vagy ha nem található egyező fájl, a GetLastError függvény ERROR_NO_MORE_FILES ad vissza.

Megjegyzések

Az attribútumfüggvények meghívása előtt legalább egyszer meg kell hívnia ezt a függvényt (lásd: CFileFind::FindNextFile).

FindNextFile a Win32 függvény FindNextFile sortörése.

Example

Tekintse meg a jelen témakör korábbi példáját.

CFtpFileFind::GetFileURL

Hívja meg ezt a tagfüggvényt a megadott fájl URL-címének lekéréséhez.

CString GetFileURL() const;

Visszaadott érték

Az univerzális erőforrás-kereső (URL) fájlja és elérési útja.

Megjegyzések

GetFileURL hasonló a CFileFind::GetFilePath tagfüggvényhez, azzal a kivételével, hogy URL-formátumban adja meg az eredményt. Ahogy az CFileFind::GetFilePathis, az eredmény nem tartalmazza a fájlnevet. Például a file1.txt visszaadott értékben //moose/dir/file1.txt:ftp://moose/dir/található.

Lásd még

CFileFind osztály
hierarchiadiagram
CGopherFileFind osztály
CInternetFile osztály
CGopherFile osztály
CHttpFile osztály