Sdílet prostřednictvím


CAtlTemporaryFile – třída

Tato třída poskytuje metody pro vytvoření a použití dočasného souboru.

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 CAtlTemporaryFile

Členové

Veřejné konstruktory

Název Popis
CAtlTemporaryFile::CAtlTemporaryFile Konstruktor
CAtlTemporaryFile::~CAtlTemporaryFile Destruktor.

Veřejné metody

Název Popis
CAtlTemporaryFile::Close Voláním této metody zavřete dočasný soubor a buď odstraníte jeho obsah, nebo je uložíte pod zadaný název souboru.
CAtlTemporaryFile::Create Voláním této metody vytvořte dočasný soubor.
CAtlTemporaryFile::Flush Voláním této metody vynutíte zápis všech dat zbývajících v vyrovnávací paměti souboru do dočasného souboru.
CAtlTemporaryFile::GetPosition Voláním této metody získáte aktuální pozici ukazatele souboru.
CAtlTemporaryFile::GetSize Voláním této metody získáte velikost v bajtech dočasného souboru.
CAtlTemporaryFile::HandsOff Voláním této metody zrušte přidružení souboru k objektu CAtlTemporaryFile .
CAtlTemporaryFile::HandsOn Voláním této metody otevřete existující dočasný soubor a umístěte ukazatel na konec souboru.
CAtlTemporaryFile::LockRange Voláním této metody zamknete oblast v souboru, abyste zabránili jiným procesům v přístupu k ní.
CAtlTemporaryFile::Read Voláním této metody načtěte data z dočasného souboru začínajícím na pozici označené ukazatelem souboru.
CAtlTemporaryFile::Seek Voláním této metody přesuňte ukazatel souboru dočasného souboru.
CAtlTemporaryFile::SetSize Voláním této metody nastavíte velikost dočasného souboru.
CAtlTemporaryFile::TempFileName Voláním této metody vrátíte název dočasného souboru.
CAtlTemporaryFile::UnlockRange Voláním této metody odemkněte oblast dočasného souboru.
CAtlTemporaryFile::Write Voláním této metody zapíšete data do dočasného souboru začínajícím na pozici označené ukazatelem souboru.

Veřejné operátory

Název Popis
CAtlTemporaryFile::operator HANDLE Vrátí popisovač dočasného souboru.

Poznámky

CAtlTemporaryFile usnadňuje vytváření a používání dočasného souboru. Soubor se automaticky pojmenuje, otevře, zavře a odstraní. Pokud se po zavření souboru vyžaduje jeho obsah, můžete ho uložit do nového souboru se zadaným názvem.

Požadavky

Hlavička: atlfile.h

Příklad

Podívejte se na příklad pro CAtlTemporaryFile::CAtlTemporaryFile.

CAtlTemporaryFile::CAtlTemporaryFile

Konstruktor

CAtlTemporaryFile() throw();

Poznámky

Soubor se ve skutečnosti neotevře, dokud není provedeno volání CAtlTemporaryFile::Create.

Příklad

// Declare the temporary file object
CAtlTemporaryFile myTempFile;

// Create the temporary file, without caring where it
// will be created, but with both read and write access.
ATLVERIFY (myTempFile.Create(NULL, GENERIC_READ|GENERIC_WRITE) == S_OK);

// Create some data to write to the file

int nBuffer[100];
DWORD bytes_written = 0, bytes_read = 0;
int i;

for (i = 0; i < 100; i++)
   nBuffer[i] = i;

// Write some data to the file
myTempFile.Write(&nBuffer, sizeof(nBuffer), &bytes_written);

// Confirm it was written ok
ATLASSERT(bytes_written == sizeof(nBuffer));

// Flush the data to disk
ATLVERIFY(myTempFile.Flush() == S_OK);

// Reset the file pointer to the beginning of the file
ATLVERIFY(myTempFile.Seek(0, FILE_BEGIN) == S_OK);

// Read in the data
myTempFile.Read(&nBuffer, sizeof(nBuffer), bytes_read);

// Confirm it was read ok
ATLASSERT(bytes_read == sizeof(nBuffer));

// Close the file, making a copy of it at another location
ATLVERIFY(myTempFile.Close(_T("c:\\temp\\mydata.tmp")) == S_OK);

CAtlTemporaryFile::~CAtlTemporaryFile

Destruktor.

~CAtlTemporaryFile() throw();

Poznámky

Destruktor volá CAtlTemporaryFile::Close.

CAtlTemporaryFile::Close

Voláním této metody zavřete dočasný soubor a buď odstraníte jeho obsah, nebo je uložíte pod zadaný název souboru.

HRESULT Close(LPCTSTR szNewName = NULL) throw();

Parametry

szNewName
Název nového souboru pro uložení obsahu dočasného souboru. Pokud je tento argument NULL, obsah dočasného souboru se odstraní.

Návratová hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

Příklad

Podívejte se na příklad pro CAtlTemporaryFile::CAtlTemporaryFile.

CAtlTemporaryFile::Create

Voláním této metody vytvořte dočasný soubor.

HRESULT Create(LPCTSTR pszDir = NULL, DWORD dwDesiredAccess = GENERIC_WRITE) throw();

Parametry

pszDir
Cesta k dočasnému souboru. Pokud je tato hodnota NULL, Bude volána GetTempPath pro přiřazení cesty.

dwDesiredAccess
Požadovaný přístup. Viz dwDesiredAccess v createfile v sadě Windows SDK.

Návratová hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

Příklad

Podívejte se na příklad pro CAtlTemporaryFile::CAtlTemporaryFile.

CAtlTemporaryFile::Flush

Voláním této metody vynutíte zápis všech dat zbývajících v vyrovnávací paměti souboru do dočasného souboru.

HRESULT Flush() throw();

Návratová hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

Poznámky

Podobně jako CAtlTemporaryFile::HandsOff s tím rozdílem, že soubor není zavřený.

Příklad

Podívejte se na příklad pro CAtlTemporaryFile::CAtlTemporaryFile.

CAtlTemporaryFile::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

Pokud chcete změnit umístění ukazatele souboru, použijte CAtlTemporaryFile::Seek.

CAtlTemporaryFile::GetSize

Voláním této metody získáte velikost v bajtech dočasného 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í.

CAtlTemporaryFile::HandsOff

Voláním této metody zrušte přidružení souboru k objektu CAtlTemporaryFile .

HRESULT HandsOff() throw();

Návratová hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

Poznámky

HandsOff a CAtlTemporaryFile::HandsOn slouží k zrušení přidružení souboru k objektu a v případě potřeby jej znovu připojte. HandsOff vynutí zápis všech dat zbývajících v vyrovnávací paměti souboru do dočasného souboru a zavření souboru. Pokud chcete soubor trvale zavřít a odstranit, nebo pokud chcete zavřít a zachovat obsah souboru s daným názvem, použijte CAtlTemporaryFile::Close.

CAtlTemporaryFile::HandsOn

Voláním této metody otevřete existující dočasný soubor a umístěte ukazatel na konec souboru.

HRESULT HandsOn() throw();

Návratová hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

Poznámky

CAtlTemporaryFile::HandsOff a HandsOn slouží k zrušení přidružení souboru k objektu a v případě potřeby jej znovu připojit.

CAtlTemporaryFile::LockRange

Voláním této metody uzamknete oblast v dočasném 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

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. Pokud chcete oblast úspěšně odemknout, použijte CAtlTemporaryFile::UnlockRange a ujistěte se, že rozsah bajtů přesně odpovídá oblasti, která byla dříve uzamčena. LockRange nesloučí sousední oblasti; Pokud sousedí dvě uzamčené oblasti, musíte je odemknout zvlášť.

CAtlTemporaryFile::operator HANDLE

Vrátí popisovač dočasného souboru.

operator HANDLE() throw();

CAtlTemporaryFile::Read

Voláním této metody načtěte data z dočasného souboru začínajícím na pozici označené ukazatelem souboru.

HRESULT Read(
    LPVOID pBuffer,
    DWORD nBufSize,
    DWORD& nBytesRead) 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ů.

Návratová hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

Poznámky

Volá CAtlFile::Read. Chcete-li změnit umístění ukazatele souboru, zavolejte CAtlTemporaryFile::Seek.

Příklad

Podívejte se na příklad pro CAtlTemporaryFile::CAtlTemporaryFile.

CAtlTemporaryFile::Seek

Voláním této metody přesuňte ukazatel souboru dočasného souboru.

HRESULT Seek(LONGLONG nOffset, DWORD dwFrom = FILE_CURRENT) throw();

Parametry

nOffset
Posun v bajtech od počáteční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á CAtlFile::Seek. Chcete-li získat aktuální pozici ukazatele souboru, zavolejte CAtlTemporaryFile::GetPosition.

Příklad

Podívejte se na příklad pro CAtlTemporaryFile::CAtlTemporaryFile.

CAtlTemporaryFile::SetSize

Voláním této metody nastavíte velikost dočasného 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á CAtlFile::SetSize. Při návratu se ukazatel souboru umístí na konec souboru.

CAtlTemporaryFile::TempFileName

Voláním této metody vrátíte název dočasného souboru.

LPCTSTR TempFileName() throw();

Návratová hodnota

Vrátí LPCTSTR odkazující na název souboru.

Poznámky

Název souboru je generován v CAtlTemporaryFile::CAtlTemporaryFile s voláním GetTempFileWindows SDK funkce. Přípona souboru bude vždy "TFR" pro dočasný soubor.

CAtlTemporaryFile::UnlockRange

Voláním této metody odemkněte oblast dočasného 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á CAtlFile::UnlockRange.

CAtlTemporaryFile::Write

Voláním této metody zapíšete data do dočasného souboru začínajícím na pozici označené ukazatelem souboru.

HRESULT Write(
    LPCVOID pBuffer,
    DWORD nBufSize,
    DWORD* pnBytesWritten = NULL) throw();

Parametry

pBuffer
Vyrovnávací paměť obsahující data, která se mají zapsat do souboru.

nBufSize
Početch

pnBytesWritten
Počet zapsaných bajtů.

Návratová hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

Poznámky

Volá CAtlFile::Write.

Příklad

Podívejte se na příklad pro CAtlTemporaryFile::CAtlTemporaryFile.

Viz také

Přehled třídy
CAtlFile – třída