Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Den här klassen innehåller metoder för att skapa och använda en tillfällig fil.
Viktigt!
Den här klassen och dess medlemmar kan inte användas i program som körs i Windows Runtime.
Syntax
class CAtlTemporaryFile
Medlemmar
Offentliga konstruktorer
| Namn | Beskrivning |
|---|---|
| CAtlTemporaryFile::CAtlTemporaryFile | Konstruktorn. |
| CAtlTemporaryFile::~CAtlTemporaryFile | Destructor. |
Offentliga metoder
| Namn | Beskrivning |
|---|---|
| CAtlTemporaryFile::Close | Anropa den här metoden för att stänga en temporär fil och antingen ta bort dess innehåll eller lagra dem under det angivna filnamnet. |
| CAtlTemporaryFile::Skapa | Anropa den här metoden för att skapa en tillfällig fil. |
| CAtlTemporaryFile::Flush | Anropa den här metoden för att tvinga alla data som finns kvar i filbufferten att skrivas till den tillfälliga filen. |
| CAtlTemporaryFile::GetPosition | Anropa den här metoden för att hämta den aktuella filpekarpositionen. |
| CAtlTemporaryFile::GetSize | Anropa den här metoden för att hämta storleken i byte för den temporära filen. |
| CAtlTemporaryFile::HandsOff | Anropa den här metoden för att koppla bort filen från objektet CAtlTemporaryFile . |
| CAtlTemporaryFile::HandsOn | Anropa den här metoden för att öppna en befintlig temporär fil och placera pekaren i slutet av filen. |
| CAtlTemporaryFile::LockRange | Anropa den här metoden för att låsa en region i filen för att förhindra att andra processer kommer åt den. |
| CAtlTemporaryFile::Read | Anropa den här metoden för att läsa data från den temporära filen med början vid den position som anges av filpekaren. |
| CAtlTemporaryFile::Seek | Anropa den här metoden för att flytta filpekaren för den temporära filen. |
| CAtlTemporaryFile::SetSize | Anropa den här metoden för att ange storleken på den temporära filen. |
| CAtlTemporaryFile::TempFileName | Anropa den här metoden för att returnera namnet på den temporära filen. |
| CAtlTemporaryFile::UnlockRange | Anropa den här metoden för att låsa upp en region för den tillfälliga filen. |
| CAtlTemporaryFile::Write | Anropa den här metoden för att skriva data till den temporära filen som börjar vid den position som anges av filpekaren. |
Offentliga operatörer
| Namn | Beskrivning |
|---|---|
| CAtlTemporaryFile::operator HANDLE | Returnerar ett handtag till den tillfälliga filen. |
Anmärkningar
CAtlTemporaryFile gör det enkelt att skapa och använda en tillfällig fil. Filen namnges, öppnas, stängs och tas bort automatiskt. Om filinnehållet krävs när filen har stängts kan de sparas i en ny fil med ett angivet namn.
Kravspecifikation
Rubrik: atlfile.h
Exempel
Se exemplet för CAtlTemporaryFile::CAtlTemporaryFile.
CAtlTemporaryFile::CAtlTemporaryFile
Konstruktorn.
CAtlTemporaryFile() throw();
Anmärkningar
En fil öppnas inte förrän ett anrop görs till CAtlTemporaryFile::Create.
Exempel
// 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
Destructor.
~CAtlTemporaryFile() throw();
Anmärkningar
Destructor anropar CAtlTemporaryFile::Close.
CAtlTemporaryFile::Close
Anropa den här metoden för att stänga en temporär fil och antingen ta bort dess innehåll eller lagra dem under det angivna filnamnet.
HRESULT Close(LPCTSTR szNewName = NULL) throw();
Parameterar
szNewName
Namnet på den nya filen som innehållet i den temporära filen ska lagras i. Om det här argumentet är NULL tas innehållet i den temporära filen bort.
Returvärde
Returnerar S_OK vid lyckat fel eller ett fel med HRESULT vid fel.
Exempel
Se exemplet för CAtlTemporaryFile::CAtlTemporaryFile.
CAtlTemporaryFile::Skapa
Anropa den här metoden för att skapa en tillfällig fil.
HRESULT Create(LPCTSTR pszDir = NULL, DWORD dwDesiredAccess = GENERIC_WRITE) throw();
Parameterar
pszDir
Sökvägen till den tillfälliga filen. Om detta är NULL anropas GetTempPath för att tilldela en sökväg.
dwDesiredAccess
Önskad åtkomst. Se dwDesiredAccess i CreateFile i Windows SDK.
Returvärde
Returnerar S_OK vid lyckat fel eller ett fel med HRESULT vid fel.
Exempel
Se exemplet för CAtlTemporaryFile::CAtlTemporaryFile.
CAtlTemporaryFile::Flush
Anropa den här metoden för att tvinga alla data som finns kvar i filbufferten att skrivas till den tillfälliga filen.
HRESULT Flush() throw();
Returvärde
Returnerar S_OK vid lyckat fel eller ett fel med HRESULT vid fel.
Anmärkningar
Liknar CAtlTemporaryFile::HandsOff, förutom att filen inte är stängd.
Exempel
Se exemplet för CAtlTemporaryFile::CAtlTemporaryFile.
CAtlTemporaryFile::GetPosition
Anropa den här metoden för att hämta den aktuella filpekarpositionen.
HRESULT GetPosition(ULONGLONG& nPos) const throw();
Parameterar
nPos
Positionen i byte.
Returvärde
Returnerar S_OK vid lyckat fel eller ett fel med HRESULT vid fel.
Anmärkningar
Om du vill ändra filpekarens position använder du CAtlTemporaryFile::Seek.
CAtlTemporaryFile::GetSize
Anropa den här metoden för att hämta storleken i byte för den temporära filen.
HRESULT GetSize(ULONGLONG& nLen) const throw();
Parameterar
nLen
Antalet byte i filen.
Returvärde
Returnerar S_OK vid lyckat fel eller ett fel med HRESULT vid fel.
CAtlTemporaryFile::HandsOff
Anropa den här metoden för att koppla bort filen från objektet CAtlTemporaryFile .
HRESULT HandsOff() throw();
Returvärde
Returnerar S_OK vid lyckat fel eller ett fel med HRESULT vid fel.
Anmärkningar
HandsOff och CAtlTemporaryFile::HandsOn används för att koppla bort filen från objektet och koppla den igen om det behövs.
HandsOff tvingar alla data som finns kvar i filbufferten att skrivas till den temporära filen och stänger sedan filen. Om du vill stänga och ta bort filen permanent, eller om du vill stänga och behålla innehållet i filen med ett angivet namn, använder du CAtlTemporaryFile::Stäng.
CAtlTemporaryFile::HandsOn
Anropa den här metoden för att öppna en befintlig temporär fil och placera pekaren i slutet av filen.
HRESULT HandsOn() throw();
Returvärde
Returnerar S_OK vid lyckat fel eller ett fel med HRESULT vid fel.
Anmärkningar
CAtlTemporaryFile::HandsOff och HandsOn används för att koppla bort filen från objektet och koppla om den om det behövs.
CAtlTemporaryFile::LockRange
Anropa den här metoden för att låsa en region i den tillfälliga filen för att förhindra att andra processer kommer åt den.
HRESULT LockRange(ULONGLONG nPos, ULONGLONG nCount) throw();
Parameterar
nPos
Positionen i filen där låset ska börja.
nCount
Längden på byteintervallet som ska låsas.
Returvärde
Returnerar S_OK vid lyckat fel eller ett fel med HRESULT vid fel.
Anmärkningar
Om byte låses i en fil förhindras åtkomst till dessa byte av andra processer. Du kan låsa fler än en region i en fil, men inga överlappande regioner tillåts. Om du vill låsa upp en region använder du CAtlTemporaryFile::UnlockRange, vilket säkerställer att byteintervallet motsvarar exakt den region som tidigare var låst.
LockRange sammanfogar inte angränsande regioner. Om två låsta regioner ligger intill varandra måste du låsa upp var och en separat.
CAtlTemporaryFile::operator HANDLE
Returnerar ett handtag till den tillfälliga filen.
operator HANDLE() throw();
CAtlTemporaryFile::Read
Anropa den här metoden för att läsa data från den temporära filen med början vid den position som anges av filpekaren.
HRESULT Read(
LPVOID pBuffer,
DWORD nBufSize,
DWORD& nBytesRead) throw();
Parameterar
pBuffer
Pekare till bufferten som tar emot data som lästs från filen.
nBufSize
Buffertstorleken i byte.
nBytesRead
Antal lästa byte.
Returvärde
Returnerar S_OK vid lyckat fel eller ett fel med HRESULT vid fel.
Anmärkningar
Anropar CAtlFile::Read. Om du vill ändra filpekarens position anropar du CAtlTemporaryFile::Seek.
Exempel
Se exemplet för CAtlTemporaryFile::CAtlTemporaryFile.
CAtlTemporaryFile::Seek
Anropa den här metoden för att flytta filpekaren för den temporära filen.
HRESULT Seek(LONGLONG nOffset, DWORD dwFrom = FILE_CURRENT) throw();
Parameterar
nOffset
Förskjutningen, i byte, från den startpunkt som anges av dwFrom.
dwFrom
Startpunkten (FILE_BEGIN, FILE_CURRENT eller FILE_END).
Returvärde
Returnerar S_OK vid lyckat fel eller ett fel med HRESULT vid fel.
Anmärkningar
Anropar CAtlFile::Seek. Om du vill hämta den aktuella filpekarpositionen anropar du CAtlTemporaryFile::GetPosition.
Exempel
Se exemplet för CAtlTemporaryFile::CAtlTemporaryFile.
CAtlTemporaryFile::SetSize
Anropa den här metoden för att ange storleken på den temporära filen.
HRESULT SetSize(ULONGLONG nNewLen) throw();
Parameterar
nNewLen
Den nya längden på filen i byte.
Returvärde
Returnerar S_OK vid lyckat fel eller ett fel med HRESULT vid fel.
Anmärkningar
Anropar CAtlFile::SetSize. Vid retur placeras filpekaren i slutet av filen.
CAtlTemporaryFile::TempFileName
Anropa den här metoden för att returnera namnet på den temporära filen.
LPCTSTR TempFileName() throw();
Returvärde
Returnerar LPCTSTR som pekar på filnamnet.
Anmärkningar
Filnamnet genereras i CAtlTemporaryFile::CAtlTemporaryFile med ett anrop till funktionen GetTempFile Windows SDK. Filnamnstillägget är alltid "TFR" för den temporära filen.
CAtlTemporaryFile::UnlockRange
Anropa den här metoden för att låsa upp en region för den tillfälliga filen.
HRESULT UnlockRange(ULONGLONG nPos, ULONGLONG nCount) throw();
Parameterar
nPos
Positionen i filen där upplåsningen ska börja.
nCount
Längden på byteintervallet som ska låsas upp.
Returvärde
Returnerar S_OK vid lyckat fel eller ett fel med HRESULT vid fel.
Anmärkningar
Anropar CAtlFile::UnlockRange.
CAtlTemporaryFile::Write
Anropa den här metoden för att skriva data till den temporära filen som börjar vid den position som anges av filpekaren.
HRESULT Write(
LPCVOID pBuffer,
DWORD nBufSize,
DWORD* pnBytesWritten = NULL) throw();
Parameterar
pBuffer
Bufferten som innehåller de data som ska skrivas till filen.
nBufSize
Antalet byte som ska överföras från bufferten.
pnBytesWritten
Antalet skrivna byte.
Returvärde
Returnerar S_OK vid lyckat fel eller ett fel med HRESULT vid fel.
Anmärkningar
Anropar CAtlFile::Write.
Exempel
Se exemplet för CAtlTemporaryFile::CAtlTemporaryFile.
Se även
översikt över -klass
CAtlFile-klass