Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
Engedélyezi az internetes protokollokat használó távoli rendszerek fájljainak elérését.
Szemantika
class CInternetFile : public CStdioFile
Tagok
Védett konstruktorok
| Név | Description |
|---|---|
| CInternetFile::CInternetFile | Egy CInternetFile objektumot hoz létre. |
Nyilvános metódusok
| Név | Description |
|---|---|
| CInternetFile::Megszakítás | Bezárja a fájlt, figyelmen kívül hagyva az összes figyelmeztetést és hibát. |
| CInternetFile::Close | Bezár egy adott erőforrást CInternetFile , és felszabadítja az erőforrásait. |
| CInternetFile::Flush | Kiüríti az írási puffer tartalmát, és gondoskodik arról, hogy a memóriában lévő adatok a célgépre legyenek írva. |
| CInternetFile::GetLength | A fájl méretét adja vissza. |
| CInternetFile::Read | Beolvassa a megadott bájtok számát. |
| CInternetFile::ReadString | Beolvassa a karakterfolyamot. |
| CInternetFile::Seek | Áthelyezi az egérmutatót egy megnyitott fájlban. |
| CInternetFile::SetReadBufferSize | Beállítja annak a puffernek a méretét, ahol az adatok beolvashatók. |
| CInternetFile::SetWriteBufferSize | Beállítja annak a puffernek a méretét, ahol az adatok meg lesznek írva. |
| CInternetFile::Write | A megadott bájtok számát írja le. |
| CInternetFile::WriteString | Null értékű sztringet ír egy fájlba. |
Nyilvános operátorok
| Név | Description |
|---|---|
| CInternetFile::operátor HINTERNET | Egy internetes fogópont öntő operátora. |
Védett adattagok
| Név | Description |
|---|---|
| CInternetFile::m_hFile | Egy fájl leírója. |
Megjegyzések
Alaposztályt biztosít a CHttpFile és a CGopherFile fájlosztályokhoz. Soha nem hozhat létre közvetlenül objektumot CInternetFile . Ehelyett hozzon létre egy objektumot az egyik származtatott osztályából a CGopherConnection::OpenFile vagy CHttpConnection::OpenRequest meghívásával. A CFtpConnection::OpenFile meghívásával is létrehozhat CInternetFile objektumot.
A CInternetFile tagfüggvények Open, LockRangeUnlockRangeés Duplicate nincsenek implementálva a következőhözCInternetFile: . Ha ezeket a függvényeket egy CInternetFile objektumon hívja meg, egy CNotSupportedException jelenik meg.
Ha többet szeretne megtudni arról, hogyan CInternetFile működik a többi MFC internetes osztály, olvassa el az Internet Programming with WinInet című cikket.
Öröklési hierarchia
CInternetFile
Requirements
Fejléc: afxinet.h
CInternetFile::Megszakítás
Bezárja az objektumhoz társított fájlt, és nem teszi elérhetetlenné a fájlt olvasáshoz vagy íráshoz.
virtual void Abort();
Megjegyzések
Ha még nem zárta be a fájlt az objektum megsemmisítése előtt, a destruktor bezárja Önnek.
A kivételek Abort kezelésekor két fontos módon tér el a Bezárástól . Először is a Abort függvény nem ad kivételt a hibákra, mert figyelmen kívül hagyja a hibákat. Másodszor, nem ÉRVÉNYES, Abort ha a fájlt nem nyitották meg, vagy korábban bezárták.
CInternetFile::CInternetFile
Ez a tagfüggvény egy CInternetFile objektum létrehozásakor lesz meghívva.
CInternetFile(
HINTERNET hFile,
LPCTSTR pstrFileName,
CInternetConnection* pConnection,
BOOL bReadMode);
CInternetFile(
HINTERNET hFile,
HINTERNET hSession,
LPCTSTR pstrFileName,
LPCTSTR pstrServer,
DWORD_PTR dwContext,
BOOL bReadMode);
Paraméterek
hFile
Egy internetes fájl leírója.
pstrFileName
A fájlnevet tartalmazó sztringre mutató mutató.
pConnection
Egy CInternetConnection objektumra mutató mutató.
bReadMode
Azt jelzi, hogy a fájl írásvédett-e.
hSession
Egy internetes munkamenet leírója.
pstrServer
A kiszolgáló nevét tartalmazó sztringre mutató mutató.
dwContext
Az objektum környezeti azonosítója CInternetFile . A környezetazonosítóval kapcsolatos további információkért tekintse meg a WinInet alapjait .
Megjegyzések
Soha nem hozhat létre közvetlenül objektumot CInternetFile . Ehelyett hozzon létre egy objektumot az egyik származtatott osztályából a CGopherConnection::OpenFile vagy CHttpConnection::OpenRequest meghívásával. A CFtpConnection::OpenFile meghívásával is létrehozhat CInternetFile objektumot.
CInternetFile::Close
Bezár egy erőforrást CInternetFile , és felszabadítja annak bármely erőforrását.
virtual void Close();
Megjegyzések
Ha a fájlt írásra nyitották meg, a Flush implicit hívása biztosítja, hogy az összes pufferelt adat meg legyen írva a gazdagépre. Ha befejezte a fájl használatát, hívja Close fel a hívást.
CInternetFile::Flush
Hívja meg ezt a tagfüggvényt az írási puffer tartalmának kiürítéséhez.
virtual void Flush();
Megjegyzések
Ezzel Flush biztosíthatja, hogy a memóriában lévő összes adat ténylegesen a célgépre lett írva, és hogy biztosítsa a gazdagéppel folytatott tranzakciót.
Flush csak írásra megnyitott objektumokon CInternetFile érvényes.
CInternetFile::GetLength
A fájl méretét adja vissza.
virtual ULONGLONG GetLength() const;
CInternetFile::m_hFile
Az objektumhoz társított fájl leírója.
HINTERNET m_hFile;
CInternetFile::operátor HINTERNET
Ezzel az operátorral lekérheti a Windows-leírót az aktuális internetes munkamenethez.
operator HINTERNET() const;
CInternetFile::Read
Hívja meg ezt a tagfüggvényt, hogy beolvassa a megadott memóriába az lpvBuftól kezdve a megadott számú bájtot( nCount).
virtual UINT Read(
void* lpBuf,
UINT nCount);
Paraméterek
lpBuf
Egy olyan memóriacímre mutató mutató, amelyre a fájladatok beolvasva lesznek.
nCount
Az írandó bájtok száma.
Visszaadott érték
A pufferbe átvitt bájtok száma. A visszatérési érték kisebb lehet, mint nCount , ha a fájl vége el lett érve.
Megjegyzések
A függvény a ténylegesen beolvasott bájtok számát adja vissza – ez a szám lehet kisebb, mint nCount , ha a fájl véget ér. Ha hiba történik a fájl olvasása közben, a függvény egy CInternetException objektumot ad, amely leírja a hibát. Vegye figyelembe, hogy a fájl végének beolvasása nem számít hibának, és nem lesz kivétel.
Az összes adat lekérésének biztosításához az alkalmazásnak folytatnia kell a CInternetFile::Read metódus meghívását, amíg a metódus nullát nem ad vissza.
CInternetFile::ReadString
Hívja meg ezt a tagfüggvényt, hogy elolvassa a karakterfolyamot, amíg meg nem talál egy új karaktert.
virtual BOOL ReadString(CString& rString);
virtual LPTSTR ReadString(
LPTSTR pstr,
UINT nMax);
Paraméterek
pstr
Egy sztringre mutató mutató, amely megkapja az éppen olvasott vonalat.
nMax
Az elolvasandó karakterek maximális száma.
rString
Az olvasási vonalat fogadó CString objektumra mutató hivatkozás.
Visszaadott érték
Mutató a CInternetFile objektumból lekért egyszerű adatokat tartalmazó pufferre. A metódusnak átadott puffer adattípusától függetlenül nem végez semmilyen módosítást az adatokon (például Unicode-ra való átalakítás), ezért a visszaadott adatokat a várt struktúrához kell megfeleltetnie, mintha a void* típus lett volna visszaadva.
NULL értékű, ha a fájl vége adatok beolvasása nélkül lett elérve; vagy logikai érték esetén HAMIS, ha a fájl vége adatolvasás nélkül lett elérve.
Megjegyzések
A függvény az eredményül kapott sort a pstr paraméter által hivatkozott memóriába helyezi. Leállítja a karakterek olvasását, amikor eléri az nMax által megadott maximális számú karaktert. A puffer mindig null karaktert kap.
Ha a SetReadBufferSize első hívása nélkül hívReadString, 4096 bájt puffert kap.
CInternetFile::Seek
A tagfüggvény meghívásával helyezze át az egérmutatót egy korábban megnyitott fájlban.
virtual ULONGLONG Seek(
LONGLONG lOffset,
UINT nFrom);
Paraméterek
lOffset
Eltolás bájtokban az olvasási/írási mutató áthelyezéséhez a fájlban.
nFrom
Az eltolás relatív hivatkozása. Az alábbi értékek egyikének kell lennie:
CFile::beginVigye a fájlmutatót lOff bájt előre a fájl elejéről.CFile::currentHelyezze át a fájlmutató lOff bájtokat a fájl aktuális pozíciójából.CFile::endHelyezze át a fájlmutató lOff bájtját a fájl végéről. Az lOff fájlnak negatívnak kell lennie a meglévő fájlba való kereséshez; a pozitív értékek a fájl végéig keresnek.
Visszaadott érték
Az új bájteltolódás a fájl elejéről, ha a kért pozíció jogszerű; ellenkező esetben az érték nincs definiálva, és egy CInternetException objektum lesz eldobva.
Megjegyzések
A Seek függvény lehetővé teszi a fájl tartalmának véletlenszerű elérését úgy, hogy a mutatót egy megadott mennyiségre helyezi, teljesen vagy viszonylag. A keresés során nem olvashatók be adatok.
Jelenleg a tagfüggvény hívása csak az objektumokhoz CHttpFile társított adatok esetében támogatott. FTP- vagy gopher-kérelmek esetén nem támogatott. Ha ezen nem támogatott szolgáltatások egyikét hívja Seek meg, az vissza fogja adni a Win32 hibakódjának ERROR_INTERNET_INVALID_OPERATION.
Egy fájl megnyitásakor a fájlmutató a 0. eltolásnál, a fájl elején található.
Megjegyzés:
A használat Seek implicit hívást okozhat a Flush felé.
Example
Lásd az alaposztály implementálásának példáját (CFile::Seek).
CInternetFile::SetReadBufferSize
Hívja meg ezt a tagfüggvényt a -derived objektum által CInternetFilehasznált ideiglenes olvasási puffer méretének beállításához.
BOOL SetReadBufferSize(UINT nReadSize);
Paraméterek
nReadSize
A kívánt pufferméret bájtban.
Visszaadott érték
Nonzero, ha sikeres; egyéb esetben 0. Ha a hívás sikertelen, a Rendszer meghívhatja a Win32 GetLastError függvényt a hiba okának meghatározásához.
Megjegyzések
A mögöttes WinInet API-k nem végeznek pufferelést, ezért válasszon olyan pufferméretet, amely lehetővé teszi az alkalmazás számára az adatok hatékony olvasását, függetlenül az olvasandó adatok mennyiségétől. Ha az olvasási hívások általában nagy mennyiségű adatot (például négy vagy több kilobájtot) foglalnak magukban, akkor nincs szükség pufferre. Ha azonban kis adattömbök lekérésére hív, Read vagy ha a ReadString használatával egyszerre olvas be egyes sorokat, akkor az olvasási puffer javítja az alkalmazás teljesítményét.
Alapértelmezés szerint egy CInternetFile objektum nem biztosít pufferelést az olvasáshoz. Ha ezt a tagfüggvényt hívja meg, győződjön meg arról, hogy a fájl olvasási hozzáférésre lett megnyitva.
A puffer méretét bármikor növelheti, de a puffer zsugorítása nem lesz hatással. Ha a ReadStringet első hívás nélkül hívja SetReadBufferSizemeg, 4096 bájt puffert kap.
CInternetFile::SetWriteBufferSize
Hívja meg ezt a tagfüggvényt a -derived objektum által CInternetFilehasznált ideiglenes írási puffer méretének beállításához.
BOOL SetWriteBufferSize(UINT nWriteSize);
Paraméterek
nWriteSize
A puffer mérete bájtban.
Visszaadott érték
Nonzero, ha sikeres; egyéb esetben 0. Ha a hívás sikertelen, a Rendszer meghívhatja a Win32 GetLastError függvényt a hiba okának meghatározásához.
Megjegyzések
A mögöttes WinInet API-k nem végeznek pufferelést, ezért válasszon olyan pufferméretet, amely lehetővé teszi az alkalmazás számára az adatok hatékony írását, függetlenül az írandó adatok mennyiségétől. Ha minden írási hívás általában nagy mennyiségű adatot tartalmaz (például egyszerre négy vagy több kilobájtot), akkor nincs szükség pufferre. Ha azonban kis adattömbök írására hívja meg az Írást , az írási puffer javítja az alkalmazás teljesítményét.
Alapértelmezés szerint egy CInternetFile objektum nem biztosít pufferelést az íráshoz. Ha ezt a tagfüggvényt hívja meg, győződjön meg arról, hogy a fájl meg van nyitva írási hozzáférésre. Az írási puffer méretét bármikor módosíthatja, de ha így tesz, implicit hívást indít a Flush felé.
CInternetFile::Write
Hívja meg ezt a tagfüggvényt, hogy írja be az adott memóriába( lpvBuf, a megadott bájtszám, nCount).
virtual void Write(
const void* lpBuf,
UINT nCount);
Paraméterek
lpBuf
Az első megírandó bájtra mutató mutató.
nCount
Az írandó bájtok számát adja meg.
Megjegyzések
Ha bármilyen hiba történik az adatok írása közben, a függvény egy CInternetException objektumot ad, amely leírja a hibát.
CInternetFile::WriteString
Ez a függvény null értékű sztringet ír a társított fájlba.
virtual void WriteString(LPCTSTR pstr);
Paraméterek
pstr
Mutató az írandó tartalmat tartalmazó sztringre.
Megjegyzések
Ha bármilyen hiba történik az adatok írása közben, a függvény egy CInternetException objektumot ad, amely leírja a hibát.
Lásd még
CStdioFile osztály
hierarchiadiagram
CInternetConnection osztály