Sdílet prostřednictvím


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

CHandle

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 CreateFilesouboru .

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 .

Viz také

Ukázka výběru
Přehled třídy
CHandle – třída