Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Deze klasse biedt methoden voor het maken en gebruiken van een tijdelijk bestand.
Belangrijk
Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.
Syntaxis
class CAtlTemporaryFile
Leden
Openbare constructors
| Naam | Beschrijving |
|---|---|
| CAtlTemporaryFile::CAtlTemporaryFile | De constructor. |
| CAtlTemporaryFile::~CAtlTemporaryFile | De destructor. |
Openbare methoden
| Naam | Beschrijving |
|---|---|
| CAtlTemporaryFile::Close | Roep deze methode aan om een tijdelijk bestand te sluiten en de inhoud ervan te verwijderen of op te slaan onder de opgegeven bestandsnaam. |
| CAtlTemporaryFile::Create | Roep deze methode aan om een tijdelijk bestand te maken. |
| CAtlTemporaryFile::Flush | Roep deze methode aan om af te dwingen dat gegevens die in de bestandsbuffer blijven, naar het tijdelijke bestand worden geschreven. |
| CAtlTemporaryFile::GetPosition | Roep deze methode aan om de positie van de huidige bestandsaanwijzer op te halen. |
| CAtlTemporaryFile::GetSize | Roep deze methode aan om de grootte op te halen in bytes van het tijdelijke bestand. |
| CAtlTemporaryFile::HandsOff | Roep deze methode aan om het bestand los te koppelen van het CAtlTemporaryFile object. |
| CAtlTemporaryFile::HandsOn | Roep deze methode aan om een bestaand tijdelijk bestand te openen en de aanwijzer aan het einde van het bestand te plaatsen. |
| CAtlTemporaryFile::LockRange | Roep deze methode aan om een regio in het bestand te vergrendelen om te voorkomen dat andere processen er toegang toe hebben. |
| CAtlTemporaryFile::Read | Roep deze methode aan om gegevens uit het tijdelijke bestand te lezen vanaf de positie die wordt aangegeven door de bestandsaanwijzer. |
| CAtlTemporaryFile::Seek | Roep deze methode aan om de bestandswijzer van het tijdelijke bestand te verplaatsen. |
| CAtlTemporaryFile::SetSize | Roep deze methode aan om de grootte van het tijdelijke bestand in te stellen. |
| CAtlTemporaryFile::TempFileName | Roep deze methode aan om de naam van het tijdelijke bestand te retourneren. |
| CAtlTemporaryFile::UnlockRange | Roep deze methode aan om een regio van het tijdelijke bestand te ontgrendelen. |
| CAtlTemporaryFile::Write | Roep deze methode aan om gegevens naar het tijdelijke bestand te schrijven vanaf de positie die wordt aangegeven door de bestandsaanwijzer. |
Openbare operators
| Naam | Beschrijving |
|---|---|
| CAtlTemporaryFile::operator HANDLE | Retourneert een ingang naar het tijdelijke bestand. |
Opmerkingen
CAtlTemporaryFile maakt het eenvoudig om een tijdelijk bestand te maken en te gebruiken. Het bestand wordt automatisch benoemd, geopend, gesloten en verwijderd. Als de bestandsinhoud vereist is nadat het bestand is gesloten, kunnen ze worden opgeslagen in een nieuw bestand met een opgegeven naam.
Behoeften
Header: atlfile.h
Voorbeeld
Zie het voorbeeld voor CAtlTemporaryFile::CAtlTemporaryFile.
CAtlTemporaryFile::CAtlTemporaryFile
De constructor.
CAtlTemporaryFile() throw();
Opmerkingen
Een bestand wordt pas geopend als er een aanroep naar CAtlTemporaryFile::Create wordt gedaan.
Voorbeeld
// 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
De destructor.
~CAtlTemporaryFile() throw();
Opmerkingen
De destructor roept CAtlTemporaryFile::Close aan.
CAtlTemporaryFile::Close
Roep deze methode aan om een tijdelijk bestand te sluiten en de inhoud ervan te verwijderen of op te slaan onder de opgegeven bestandsnaam.
HRESULT Close(LPCTSTR szNewName = NULL) throw();
Parameterwaarden
szNewName
De naam voor het nieuwe bestand waarin de inhoud van het tijdelijke bestand moet worden opgeslagen. Als dit argument NULL is, wordt de inhoud van het tijdelijke bestand verwijderd.
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Voorbeeld
Zie het voorbeeld voor CAtlTemporaryFile::CAtlTemporaryFile.
CAtlTemporaryFile::Create
Roep deze methode aan om een tijdelijk bestand te maken.
HRESULT Create(LPCTSTR pszDir = NULL, DWORD dwDesiredAccess = GENERIC_WRITE) throw();
Parameterwaarden
pszDir
Het pad voor het tijdelijke bestand. Als dit NULL is, wordt GetTempPath aangeroepen om een pad toe te wijzen.
dwDesiredAccess
De gewenste toegang. Zie dwDesiredAccess in CreateFile in de Windows SDK.
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Voorbeeld
Zie het voorbeeld voor CAtlTemporaryFile::CAtlTemporaryFile.
CAtlTemporaryFile::Flush
Roep deze methode aan om af te dwingen dat gegevens die in de bestandsbuffer blijven, naar het tijdelijke bestand worden geschreven.
HRESULT Flush() throw();
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Opmerkingen
Vergelijkbaar met CAtlTemporaryFile::HandsOff, behalve dat het bestand niet is gesloten.
Voorbeeld
Zie het voorbeeld voor CAtlTemporaryFile::CAtlTemporaryFile.
CAtlTemporaryFile::GetPosition
Roep deze methode aan om de positie van de huidige bestandsaanwijzer op te halen.
HRESULT GetPosition(ULONGLONG& nPos) const throw();
Parameterwaarden
De positie in bytes.
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Opmerkingen
Als u de positie van de bestandsaanwijzer wilt wijzigen, gebruikt u CAtlTemporaryFile::Seek.
CAtlTemporaryFile::GetSize
Roep deze methode aan om de grootte op te halen in bytes van het tijdelijke bestand.
HRESULT GetSize(ULONGLONG& nLen) const throw();
Parameterwaarden
nLen
Het aantal bytes in het bestand.
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
CAtlTemporaryFile::HandsOff
Roep deze methode aan om het bestand los te koppelen van het CAtlTemporaryFile object.
HRESULT HandsOff() throw();
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Opmerkingen
HandsOff en CAtlTemporaryFile::HandsOn worden gebruikt om het bestand van het object te ontkoppelen en het indien nodig opnieuw te koppelen.
HandsOff dwingt eventuele resterende gegevens in de bestandsbuffer naar het tijdelijke bestand te worden geschreven en sluit het bestand. Als u het bestand definitief wilt sluiten en verwijderen, of als u de inhoud van het bestand met een bepaalde naam wilt sluiten en behouden, gebruikt u CAtlTemporaryFile::Close.
CAtlTemporaryFile::HandsOn
Roep deze methode aan om een bestaand tijdelijk bestand te openen en de aanwijzer aan het einde van het bestand te plaatsen.
HRESULT HandsOn() throw();
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Opmerkingen
CAtlTemporaryFile::HandsOff en HandsOn worden gebruikt om het bestand van het object te ontkoppelen en indien nodig opnieuw te koppelen.
CAtlTemporaryFile::LockRange
Roep deze methode aan om een regio in het tijdelijke bestand te vergrendelen om te voorkomen dat andere processen er toegang toe hebben.
HRESULT LockRange(ULONGLONG nPos, ULONGLONG nCount) throw();
Parameterwaarden
De positie in het bestand waar de vergrendeling moet beginnen.
nCount
De lengte van het bytebereik dat moet worden vergrendeld.
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Opmerkingen
Het vergrendelen van bytes in een bestand voorkomt toegang tot die bytes door andere processen. U kunt meerdere regio's van een bestand vergrendelen, maar er zijn geen overlappende regio's toegestaan. Als u een regio wilt ontgrendelen, gebruikt u CAtlTemporaryFile::UnlockRange, zodat het bytebereik exact overeenkomt met de regio die eerder was vergrendeld.
LockRange voegt geen aangrenzende regio's samen; als twee vergrendelde regio's aangrenzend zijn, moet u elk afzonderlijk ontgrendelen.
CAtlTemporaryFile::operator HANDLE
Retourneert een ingang naar het tijdelijke bestand.
operator HANDLE() throw();
CAtlTemporaryFile::Read
Roep deze methode aan om gegevens uit het tijdelijke bestand te lezen vanaf de positie die wordt aangegeven door de bestandsaanwijzer.
HRESULT Read(
LPVOID pBuffer,
DWORD nBufSize,
DWORD& nBytesRead) throw();
Parameterwaarden
pBuffer
Wijs de buffer aan waarmee de gegevens worden gelezen uit het bestand.
nBufSize
De buffergrootte in bytes.
nBytesRead
Het aantal gelezen bytes.
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Opmerkingen
Roept CAtlFile::Read. Als u de positie van de bestandsaanwijzer wilt wijzigen, roept u CAtlTemporaryFile::Seek aan.
Voorbeeld
Zie het voorbeeld voor CAtlTemporaryFile::CAtlTemporaryFile.
CAtlTemporaryFile::Seek
Roep deze methode aan om de bestandswijzer van het tijdelijke bestand te verplaatsen.
HRESULT Seek(LONGLONG nOffset, DWORD dwFrom = FILE_CURRENT) throw();
Parameterwaarden
nOffset
De offset, in bytes, vanaf het beginpunt dat door dwFrom is opgegeven.
dwFrom
Het beginpunt (FILE_BEGIN, FILE_CURRENT of FILE_END).
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Opmerkingen
Roept CAtlFile::Seek aan. Als u de huidige bestandsaanwijzerpositie wilt verkrijgen, roept u CAtlTemporaryFile::GetPosition aan.
Voorbeeld
Zie het voorbeeld voor CAtlTemporaryFile::CAtlTemporaryFile.
CAtlTemporaryFile::SetSize
Roep deze methode aan om de grootte van het tijdelijke bestand in te stellen.
HRESULT SetSize(ULONGLONG nNewLen) throw();
Parameterwaarden
nNewLen
De nieuwe lengte van het bestand in bytes.
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Opmerkingen
Roept CAtlFile::SetSize aan. Bij terugkeer wordt de bestandsaanwijzer aan het einde van het bestand weergegeven.
CAtlTemporaryFile::TempFileName
Roep deze methode aan om de naam van het tijdelijke bestand te retourneren.
LPCTSTR TempFileName() throw();
Retourwaarde
Retourneert de LPCTSTR die verwijst naar de bestandsnaam.
Opmerkingen
De bestandsnaam wordt gegenereerd in CAtlTemporaryFile::CAtlTemporaryFile met een aanroep naar de Functie GetTempFile Windows SDK. De bestandsextensie is altijd 'TFR' voor het tijdelijke bestand.
CAtlTemporaryFile::UnlockRange
Roep deze methode aan om een regio van het tijdelijke bestand te ontgrendelen.
HRESULT UnlockRange(ULONGLONG nPos, ULONGLONG nCount) throw();
Parameterwaarden
De positie in het bestand waar de ontgrendeling moet beginnen.
nCount
De lengte van het bytebereik dat moet worden ontgrendeld.
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Opmerkingen
Roept CAtlFile::UnlockRange aan.
CAtlTemporaryFile::Write
Roep deze methode aan om gegevens naar het tijdelijke bestand te schrijven vanaf de positie die wordt aangegeven door de bestandsaanwijzer.
HRESULT Write(
LPCVOID pBuffer,
DWORD nBufSize,
DWORD* pnBytesWritten = NULL) throw();
Parameterwaarden
pBuffer
De buffer met de gegevens die naar het bestand moeten worden geschreven.
nBufSize
Het aantal bytes dat moet worden overgedragen vanuit de buffer.
pnBytesWritten
Het aantal geschreven bytes.
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Opmerkingen
Roept CAtlFile::Write aan.
Voorbeeld
Zie het voorbeeld voor CAtlTemporaryFile::CAtlTemporaryFile.