CAtlFile – třída
Tato třída poskytuje tenký obálka kolem rozhraní API pro zpracování souborů systému Windows.
Důležité
Tuto třídu a její členy nelze použít v aplikacích, které se spouští v prostředí Windows Runtime.
Syntaxe
class CAtlFile : public CHandle
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CAtlFile::CAtlFile | Konstruktor |
Veřejné metody
Název | Popis |
---|---|
CAtlFile::Create | Voláním této metody vytvořte nebo otevřete soubor. |
CAtlFile::Flush | Voláním této metody vymažete vyrovnávací paměti pro soubor a způsobí, že všechna data vyrovnávací paměti budou zapsána do souboru. |
CAtlFile::GetOverlappedResult | Voláním této metody získáte výsledky překrývající se operace v souboru. |
CAtlFile::GetPosition | Voláním této metody získáte aktuální pozici ukazatele souboru ze souboru. |
CAtlFile::GetSize | Voláním této metody získáte velikost v bajtech souboru. |
CAtlFile::LockRange | Voláním této metody zamknete oblast v souboru, abyste zabránili jiným procesům v přístupu k ní. |
CAtlFile::Read | Voláním této metody můžete číst data ze souboru, který začíná na pozici označené ukazatelem souboru. |
CAtlFile::Seek | Voláním této metody přesuňte ukazatel souboru souboru. |
CAtlFile::SetSize | Voláním této metody nastavíte velikost souboru. |
CAtlFile::UnlockRange | Voláním této metody odemkněte oblast souboru. |
CAtlFile::Write | Voláním této metody zapište data do souboru začínajícím na pozici označené ukazatelem souboru. |
Chráněné datové členy
Název | Popis |
---|---|
CAtlFile::m_pTM | Ukazatel na CAtlTransactionManager objekt |
Poznámky
Tuto třídu použijte, pokud jsou potřeby zpracování souborů relativně jednoduché, ale více abstrakce, než poskytuje rozhraní API systému Windows, je vyžadováno bez zahrnutí závislostí MFC.
Hierarchie dědičnosti
CAtlFile
Požadavky
Hlavička: atlfile.h
CAtlFile::CAtlFile
Konstruktor
CAtlFile() throw();
CAtlFile(CAtlTransactionManager* pTM = NULL) throw();
CAtlFile(CAtlFile& file) throw();
explicit CAtlFile(HANDLE hFile) throw();
Parametry
soubor
Objekt souboru.
hFile
Popisovač souboru.
pTM
Ukazatel na objekt CAtlTransactionManager
Poznámky
Konstruktor kopírování přenese vlastnictví popisovače souboru z původního CAtlFile
objektu na nově vytvořený objekt.
CAtlFile::Create
Voláním této metody vytvořte nebo otevřete soubor.
HRESULT Create(
LPCTSTR szFilename,
DWORD dwDesiredAccess,
DWORD dwShareMode,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL,
LPSECURITY_ATTRIBUTES lpsa = NULL,
HANDLE hTemplateFile = NULL) throw();
Parametry
szFilename
Název souboru.
dwDesiredAccess
Požadovaný přístup. Viz dwDesiredAccess v createfile v sadě Windows SDK.
dwShareMode
Režim sdílení Viz dwShareMode v CreateFile
.
dwCreationDisposition
Vytvoření dispozice. Viz dwCreationDisposition v CreateFile
souboru .
dwFlagsAndAttributes
Příznaky a atributy. Viz dwFlagsAndAttributes v CreateFile
.
Lpsa
Atributy zabezpečení. Viz lpSecurityAttributes v CreateFile
.
hTemplateFile
Soubor šablony. Viz hTemplateFile v CreateFile
.
Návratová hodnota
Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.
Poznámky
Volá createfile k vytvoření nebo otevření souboru.
CAtlFile::Flush
Voláním této metody vymažete vyrovnávací paměti pro soubor a způsobí, že všechna data vyrovnávací paměti budou zapsána do souboru.
HRESULT Flush() throw();
Návratová hodnota
Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.
Poznámky
Volá FlushFileBuffers pro vyprázdnění dat uložených do vyrovnávací paměti do souboru.
CAtlFile::GetOverlappedResult
Voláním této metody získáte výsledky překrývající se operace v souboru.
HRESULT GetOverlappedResult(
LPOVERLAPPED pOverlapped,
DWORD& dwBytesTransferred,
BOOL bWait) throw();
Parametry
pOverlapped
Překrývající se struktura. Viz lpOverlapped v GetOverlappedResult v sadě Windows SDK.
dwBytesTransferred
Bajty se přenesly. Viz lpNumberOfBytesTransferred v GetOverlappedResult
.
bWait
Možnost čekání. Viz bWait in GetOverlappedResult
.
Návratová hodnota
Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.
Poznámky
Volání GetOverlappedResult získat výsledky překrývající se operace v souboru.
CAtlFile::GetPosition
Voláním této metody získáte aktuální pozici ukazatele souboru.
HRESULT GetPosition(ULONGLONG& nPos) const throw();
Parametry
NPos
Pozice v bajtech.
Návratová hodnota
Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.
Poznámky
Volání SetFilePointer získat aktuální umístění ukazatele souboru.
CAtlFile::GetSize
Voláním této metody získáte velikost v bajtech souboru.
HRESULT GetSize(ULONGLONG& nLen) const throw();
Parametry
nLen
Počet bajtů v souboru.
Návratová hodnota
Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.
Poznámky
Volání GetFileSize získat velikost v bajtech souboru.
CAtlFile::LockRange
Voláním této metody zamknete oblast v souboru, abyste zabránili jiným procesům v přístupu k ní.
HRESULT LockRange(ULONGLONG nPos, ULONGLONG nCount) throw();
Parametry
NPos
Pozice v souboru, kde má zámek začínat.
nCount
Délka rozsahu bajtů, který se má uzamknout.
Návratová hodnota
Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.
Poznámky
Volá LockFile pro uzamčení oblasti v souboru. Uzamčení bajtů v souboru brání přístupu k těmto bajtům jinými procesy. Můžete uzamknout více než jednu oblast souboru, ale nejsou povoleny žádné překrývající se oblasti. Při odemknutí oblasti pomocí CAtlFile::UnlockRange musí rozsah bajtů přesně odpovídat oblasti, která byla dříve uzamčena. LockRange
nesloučí sousední oblasti; Pokud sousedí dvě uzamčené oblasti, musíte je odemknout zvlášť.
CAtlFile::m_pTM
Ukazatel na CAtlTransactionManager
objekt.
CAtlTransactionManager* m_pTM;
Poznámky
CAtlFile::Read
Voláním této metody můžete číst data ze souboru, který začíná na pozici označené ukazatelem souboru.
HRESULT Read(
LPVOID pBuffer,
DWORD nBufSize) throw();
HRESULT Read(
LPVOID pBuffer,
DWORD nBufSize,
DWORD& nBytesRead) throw();
HRESULT Read(
LPVOID pBuffer,
DWORD nBufSize,
LPOVERLAPPED pOverlapped) throw();
HRESULT Read(
LPVOID pBuffer,
DWORD nBufSize,
LPOVERLAPPED pOverlapped,
LPOVERLAPPED_COMPLETION_ROUTINE pfnCompletionRoutine) throw();
Parametry
pBuffer
Ukazatel na vyrovnávací paměť, která bude přijímat data načtená ze souboru.
nBufSize
Velikost vyrovnávací paměti v bajtech.
nBytesRead
Počet přečtených bajtů.
pOverlapped
Překrývající se struktura. Viz lpOverlapped v ReadFile v sadě Windows SDK.
pfnCompletionRoutine
Rutina dokončení. Viz lpCompletionRoutine v ReadFileEx v sadě Windows SDK.
Návratová hodnota
Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.
Poznámky
První tři formuláře volají ReadFile, poslední ReadFileEx pro čtení dat ze souboru. K přesunutí ukazatele souboru použijte CAtlFile::Seek .
CAtlFile::Seek
Voláním této metody přesuňte ukazatel souboru souboru.
HRESULT Seek(
LONGLONG nOffset,
DWORD dwFrom = FILE_CURRENT) throw();
Parametry
nOffset
Posun od výchozího bodu zadaného dwFrom.
dwFrom
Počáteční bod (FILE_BEGIN, FILE_CURRENT nebo FILE_END).
Návratová hodnota
Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.
Poznámky
Volá SetFilePointer pro přesunutí ukazatele souboru.
CAtlFile::SetSize
Voláním této metody nastavíte velikost souboru.
HRESULT SetSize(ULONGLONG nNewLen) throw();
Parametry
nNewLen
Nová délka souboru v bajtech.
Návratová hodnota
Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.
Poznámky
Volá SetFilePointer a SetEndOfFile k nastavení velikosti souboru. Při návratu se ukazatel souboru umístí na konec souboru.
CAtlFile::UnlockRange
Voláním této metody odemkněte oblast souboru.
HRESULT UnlockRange(ULONGLONG nPos, ULONGLONG nCount) throw();
Parametry
NPos
Pozice v souboru, kde má začít odemčení.
nCount
Délka rozsahu bajtů, který se má odemknout.
Návratová hodnota
Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.
Poznámky
Volá UnlockFile k odemknutí oblasti souboru.
CAtlFile::Write
Voláním této metody zapište data do souboru začínajícím na pozici označené ukazatelem souboru.
HRESULT Write(
LPCVOID pBuffer,
DWORD nBufSize,
LPOVERLAPPED pOverlapped,
LPOVERLAPPED_COMPLETION_ROUTINE pfnCompletionRoutine) throw();
HRESULT Write(
LPCVOID pBuffer,
DWORD nBufSize,
DWORD* pnBytesWritten = NULL) throw();
HRESULT Write(
LPCVOID pBuffer,
DWORD nBufSize,
LPOVERLAPPED pOverlapped) throw();
Parametry
pBuffer
Vyrovnávací paměť obsahující data, která se mají zapsat do souboru.
nBufSize
Početch
pOverlapped
Překrývající se struktura. Viz lpOverlapped v WriteFile v sadě Windows SDK.
pfnCompletionRoutine
Rutina dokončení. Viz lpCompletionRoutine v WriteFileEx v sadě Windows SDK.
pnBytesWritten
Bajty napsané.
Návratová hodnota
Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.
Poznámky
První tři formuláře volají WriteFile, poslední volá WriteFileEx k zápisu dat do souboru. K přesunutí ukazatele souboru použijte CAtlFile::Seek .