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.
Opmerking
De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Deze klasse biedt een thin wrapper rond de Windows-API voor bestandsafhandeling.
Belangrijk
Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.
Syntaxis
class CAtlFile : public CHandle
Leden
Openbare constructors
| Naam | Description |
|---|---|
| CAtlFile::CAtlFile | De constructor. |
Openbare methoden
| Naam | Description |
|---|---|
| CAtlFile::Maken | Roep deze methode aan om een bestand te maken of te openen. |
| CAtlFile::Flush | Roep deze methode aan om de buffers voor het bestand te wissen en ervoor te zorgen dat alle gebufferde gegevens naar het bestand worden geschreven. |
| CAtlFile::GetOverlappedResult | Roep deze methode aan om de resultaten van een overlappende bewerking op het bestand op te halen. |
| CAtlFile::GetPosition | Roep deze methode aan om de positie van de huidige bestandsaanwijzer op te halen uit het bestand. |
| CAtlFile::GetSize | Roep deze methode aan om de grootte op te halen in bytes van het bestand. |
| CAtlFile::LockRange | Roep deze methode aan om een regio in het bestand te vergrendelen om te voorkomen dat andere processen er toegang toe hebben. |
| CAtlFile::Read | Roep deze methode aan om gegevens uit een bestand te lezen vanaf de positie die wordt aangegeven door de bestandsaanwijzer. |
| CAtlFile::Seek | Roep deze methode aan om de bestandswijzer van het bestand te verplaatsen. |
| CAtlFile::SetSize | Roep deze methode aan om de grootte van het bestand in te stellen. |
| CAtlFile::UnlockRange | Roep deze methode aan om een regio van het bestand te ontgrendelen. |
| CAtlFile::Schrijven | Roep deze methode aan om gegevens naar het bestand te schrijven vanaf de positie die wordt aangegeven door de bestandsaanwijzer. |
Beveiligde gegevensleden
| Naam | Description |
|---|---|
| CAtlFile::m_pTM | Aanwijzer naar CAtlTransactionManager object |
Opmerkingen
Gebruik deze klasse wanneer bestandsafhandelingsbehoeften relatief eenvoudig zijn, maar meer abstractie dan de Windows-API vereist is, zonder MFC-afhankelijkheden op te geven.
Overnamehiƫrarchie
CAtlFile
Requirements
Header: atlfile.h
CAtlFile::CAtlFile
De constructor.
CAtlFile() throw();
CAtlFile(CAtlTransactionManager* pTM = NULL) throw();
CAtlFile(CAtlFile& file) throw();
explicit CAtlFile(HANDLE hFile) throw();
Parameterwaarden
bestand
Het bestandsobject.
hFile
De bestandsgreep.
pTM-
Aanwijzer naar CAtlTransactionManager-object
Opmerkingen
De kopieerconstructor draagt het eigendom van de bestandsgreep van het oorspronkelijke CAtlFile object over naar het zojuist samengestelde object.
CAtlFile::Maken
Roep deze methode aan om een bestand te maken of te openen.
HRESULT Create(
LPCTSTR szFilename,
DWORD dwDesiredAccess,
DWORD dwShareMode,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL,
LPSECURITY_ATTRIBUTES lpsa = NULL,
HANDLE hTemplateFile = NULL) throw();
Parameterwaarden
szFilename
De bestandsnaam.
dwDesiredAccess
De gewenste toegang. Zie dwDesiredAccess in CreateFile in de Windows SDK.
dwShareMode
De deelmodus. Zie dwShareMode in CreateFile.
dwCreationDisposition
De verwijdering van het maken. Zie dwCreationDisposition in CreateFile.
dwFlagsAndAttributes
De vlaggen en kenmerken. Zie dwFlagsAndAttributes in CreateFile.
lpsa
De beveiligingskenmerken. Zie lpSecurityAttributes in CreateFile.
hTemplateFile
Het sjabloonbestand. Zie hTemplateFile in CreateFile.
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Opmerkingen
Roept CreateFile aan om het bestand te maken of te openen.
CAtlFile::Flush
Roep deze methode aan om de buffers voor het bestand te wissen en ervoor te zorgen dat alle gebufferde gegevens naar het bestand worden geschreven.
HRESULT Flush() throw();
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Opmerkingen
Roept FlushFileBuffers aan om gebufferde gegevens naar het bestand te spoelen.
CAtlFile::GetOverlappedResult
Roep deze methode aan om de resultaten van een overlappende bewerking op het bestand op te halen.
HRESULT GetOverlappedResult(
LPOVERLAPPED pOverlapped,
DWORD& dwBytesTransferred,
BOOL bWait) throw();
Parameterwaarden
pOverlapped
De overlappende structuur. Zie lpOverlapped in GetOverlappedResult in de Windows SDK.
dwBytesTransferred
De overgedragen bytes. Zie lpNumberOfBytesTransferred in GetOverlappedResult.
bWait
De wachtoptie. Zie bWait in GetOverlappedResult.
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Opmerkingen
Roept GetOverlappedResult aan om de resultaten van een overlappende bewerking op het bestand op te halen.
CAtlFile::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
Roept SetFilePointer aan om de positie van de huidige bestandsaanwijzer op te halen.
CAtlFile::GetSize
Roep deze methode aan om de grootte op te halen in bytes van het 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.
Opmerkingen
Roept GetFileSize aan om de grootte in bytes van het bestand op te halen.
CAtlFile::LockRange
Roep deze methode aan om een regio in het 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
Roept LockFile aan om een regio in het bestand te vergrendelen. 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. Wanneer u een regio ontgrendelt met CAtlFile::UnlockRange, moet het bytebereik exact overeenkomen met de regio die eerder is vergrendeld.
LockRange voegt geen aangrenzende regio's samen; als twee vergrendelde regio's aangrenzend zijn, moet u elk afzonderlijk ontgrendelen.
CAtlFile::m_pTM
Aanwijzer naar een CAtlTransactionManager-object.
CAtlTransactionManager* m_pTM;
Opmerkingen
CAtlFile::Read
Roep deze methode aan om gegevens uit een bestand te lezen vanaf de positie die wordt aangegeven door de bestandsaanwijzer.
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();
Parameterwaarden
pBuffer
Wijs de buffer aan waarmee de gegevens worden gelezen uit het bestand.
nBufSize
De buffergrootte in bytes.
nBytesRead
Het aantal gelezen bytes.
pOverlapped
De overlappende structuur. Zie lpOverlapped in ReadFile in de Windows SDK.
pfnCompletionRoutine
De voltooiingsroutine. Zie lpCompletionRoutine in ReadFileEx in de Windows SDK.
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Opmerkingen
De eerste drie formulieren roepen ReadFile, de laatste ReadFileEx aan om gegevens uit het bestand te lezen. Gebruik CAtlFile::Seek to move the file pointer.
CAtlFile::Seek
Roep deze methode aan om de bestandswijzer van het bestand te verplaatsen.
HRESULT Seek(
LONGLONG nOffset,
DWORD dwFrom = FILE_CURRENT) throw();
Parameterwaarden
nOffset
De verschuiving van 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 SetFilePointer aan om de bestandspointer te verplaatsen.
CAtlFile::SetSize
Roep deze methode aan om de grootte van het 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 SetFilePointer en SetEndOfFile aan om de grootte van het bestand in te stellen. Bij terugkeer wordt de bestandsaanwijzer aan het einde van het bestand weergegeven.
CAtlFile::UnlockRange
Roep deze methode aan om een regio van het 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 UnlockFile aan om een regio van het bestand te ontgrendelen.
CAtlFile::Schrijven
Roep deze methode aan om gegevens naar het bestand te schrijven vanaf de positie die wordt aangegeven door de bestandsaanwijzer.
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();
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.
pOverlapped
De overlappende structuur. Zie lpOverlapped in WriteFile in de Windows SDK.
pfnCompletionRoutine
De voltooiingsroutine. Zie lpCompletionRoutine in WriteFileEx in de Windows SDK.
pnBytesWritten
De geschreven bytes.
Retourwaarde
Retourneert S_OK bij succes of een fout HRESULT bij fout.
Opmerkingen
De eerste drie formulieren roepen WriteFile aan, de laatste roept WriteFileEx aan om gegevens naar het bestand te schrijven. Gebruik CAtlFile::Seek to move the file pointer.
Zie ook
Voorbeeld van een selectiekader
Overzicht van klassen
CHandle-klasse