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.