CAtlFile, classe
Cette classe fournit un wrapper mince autour de l’API de gestion des fichiers Windows.
Important
Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s’exécutent dans Windows Runtime.
Syntaxe
class CAtlFile : public CHandle
Membres
Constructeurs publics
Nom | Description |
---|---|
CAtlFile ::CAtlFile | Constructeur . |
Méthodes publiques
Nom | Description |
---|---|
CAtlFile ::Create | Appelez cette méthode pour créer ou ouvrir un fichier. |
CAtlFile ::Flush | Appelez cette méthode pour effacer les mémoires tampons du fichier et provoquer l’écriture de toutes les données mises en mémoire tampon dans le fichier. |
CAtlFile ::GetOverlappedResult | Appelez cette méthode pour obtenir les résultats d’une opération qui se chevauche sur le fichier. |
CAtlFile ::GetPosition | Appelez cette méthode pour obtenir la position actuelle du pointeur de fichier à partir du fichier. |
CAtlFile ::GetSize | Appelez cette méthode pour obtenir la taille en octets du fichier. |
CAtlFile ::LockRange | Appelez cette méthode pour verrouiller une région dans le fichier pour empêcher d’autres processus de l’accéder. |
CAtlFile ::Read | Appelez cette méthode pour lire les données d’un fichier en commençant à la position indiquée par le pointeur de fichier. |
CAtlFile ::Seek | Appelez cette méthode pour déplacer le pointeur de fichier du fichier. |
CAtlFile ::SetSize | Appelez cette méthode pour définir la taille du fichier. |
CAtlFile ::UnlockRange | Appelez cette méthode pour déverrouiller une région du fichier. |
CAtlFile ::Write | Appelez cette méthode pour écrire des données dans le fichier en commençant à la position indiquée par le pointeur de fichier. |
Membres de données protégés
Nom | Description |
---|---|
CAtlFile ::m_pTM | Pointeur vers l’objet CAtlTransactionManager |
Notes
Utilisez cette classe lorsque les besoins de gestion des fichiers sont relativement simples, mais que l’abstraction que fournit l’API Windows est requise, sans inclure les dépendances MFC.
Hiérarchie d'héritage
CAtlFile
Spécifications
En-tête : atlfile.h
CAtlFile ::CAtlFile
Constructeur .
CAtlFile() throw();
CAtlFile(CAtlTransactionManager* pTM = NULL) throw();
CAtlFile(CAtlFile& file) throw();
explicit CAtlFile(HANDLE hFile) throw();
Paramètres
file
Objet de fichier.
hFile
Handle de fichier.
pTM
Pointeur vers l'objet CAtlTransactionManager
Notes
Le constructeur de copie transfère la propriété du handle de fichier de l’objet d’origine CAtlFile
à l’objet nouvellement construit.
CAtlFile ::Create
Appelez cette méthode pour créer ou ouvrir un fichier.
HRESULT Create(
LPCTSTR szFilename,
DWORD dwDesiredAccess,
DWORD dwShareMode,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL,
LPSECURITY_ATTRIBUTES lpsa = NULL,
HANDLE hTemplateFile = NULL) throw();
Paramètres
szFilename
Nom du fichier.
dwDesiredAccess
Accès souhaité. Consultez dwDesiredAccess dans CreateFile dans le Kit de développement logiciel (SDK) Windows.
dwShareMode
Mode de partage. Voir dwShareMode dans CreateFile
.
dwCreationDisposition
Disposition de création. Voir dwCreationDisposition dans CreateFile
.
dwFlagsAndAttributes
Indicateurs et attributs. Voir dwFlagsAndAttributes in CreateFile
.
lpsa
Attributs de sécurité. Voir lpSecurityAttributes dans CreateFile
.
hTemplateFile
Fichier de modèle. Voir hTemplateFile dans CreateFile
.
Valeur de retour
Retourne S_OK sur la réussite ou une erreur HRESULT en cas d’échec.
Notes
Appelle CreateFile pour créer ou ouvrir le fichier.
CAtlFile ::Flush
Appelez cette méthode pour effacer les mémoires tampons du fichier et provoquer l’écriture de toutes les données mises en mémoire tampon dans le fichier.
HRESULT Flush() throw();
Valeur de retour
Retourne S_OK sur la réussite ou une erreur HRESULT en cas d’échec.
Notes
Appelle FlushFileBuffers pour vider les données mises en mémoire tampon dans le fichier.
CAtlFile ::GetOverlappedResult
Appelez cette méthode pour obtenir les résultats d’une opération qui se chevauche sur le fichier.
HRESULT GetOverlappedResult(
LPOVERLAPPED pOverlapped,
DWORD& dwBytesTransferred,
BOOL bWait) throw();
Paramètres
pOverlapped
Structure superposée. Consultez lpOverlapped dans GetOverlappedResult dans le Kit de développement logiciel (SDK) Windows.
dwBytesTransferred
Octets transférés. Voir lpNumberOfBytesTransferred en GetOverlappedResult
.
appât
Option d’attente. Voir l’appât dans GetOverlappedResult
.
Valeur de retour
Retourne S_OK sur la réussite ou une erreur HRESULT en cas d’échec.
Notes
Appelle GetOverlappedResult pour obtenir les résultats d’une opération superposée sur le fichier.
CAtlFile ::GetPosition
Appelez cette méthode pour obtenir la position actuelle du pointeur de fichier.
HRESULT GetPosition(ULONGLONG& nPos) const throw();
Paramètres
nPos
Position en octets.
Valeur de retour
Retourne S_OK sur la réussite ou une erreur HRESULT en cas d’échec.
Notes
Appelle SetFilePointer pour obtenir la position actuelle du pointeur de fichier.
CAtlFile ::GetSize
Appelez cette méthode pour obtenir la taille en octets du fichier.
HRESULT GetSize(ULONGLONG& nLen) const throw();
Paramètres
nLen
Nombre d’octets dans le fichier.
Valeur de retour
Retourne S_OK sur la réussite ou une erreur HRESULT en cas d’échec.
Notes
Appelle GetFileSize pour obtenir la taille en octets du fichier.
CAtlFile ::LockRange
Appelez cette méthode pour verrouiller une région dans le fichier pour empêcher d’autres processus de l’accéder.
HRESULT LockRange(ULONGLONG nPos, ULONGLONG nCount) throw();
Paramètres
nPos
Position dans le fichier où le verrou doit commencer.
nCount
Longueur de la plage d’octets à verrouiller.
Valeur de retour
Retourne S_OK sur la réussite ou une erreur HRESULT en cas d’échec.
Notes
Appelle LockFile pour verrouiller une région dans le fichier. Le verrouillage d’octets dans un fichier empêche l’accès à ces octets par d’autres processus. Vous pouvez verrouiller plusieurs régions d’un fichier, mais aucune région qui se chevauche n’est autorisée. Lorsque vous déverrouillez une région, à l’aide de CAtlFile ::UnlockRange, la plage d’octets doit correspondre exactement à la région précédemment verrouillée. LockRange
ne fusionne pas les régions adjacentes ; si deux régions verrouillées sont adjacentes, vous devez déverrouiller chacune séparément.
CAtlFile ::m_pTM
Pointeur vers un CAtlTransactionManager
objet.
CAtlTransactionManager* m_pTM;
Notes
CAtlFile ::Read
Appelez cette méthode pour lire les données d’un fichier en commençant à la position indiquée par le pointeur de fichier.
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();
Paramètres
pBuffer
Pointeur vers la mémoire tampon qui recevra les données lues à partir du fichier.
nBufSize
Taille de la mémoire tampon en octets.
nBytesRead
Nombre d'octets lus.
pOverlapped
Structure superposée. Consultez lpOverlapped dans ReadFile dans le Kit de développement logiciel (SDK) Windows.
pfnCompletionRoutine
Routine d’achèvement. Consultez lpCompletionRoutine dans ReadFileEx dans le Kit de développement logiciel (SDK) Windows.
Valeur de retour
Retourne S_OK sur la réussite ou une erreur HRESULT en cas d’échec.
Notes
Les trois premiers formulaires appellent ReadFile, le dernier ReadFileEx pour lire les données du fichier. Utilisez CAtlFile ::Seek pour déplacer le pointeur de fichier.
CAtlFile ::Seek
Appelez cette méthode pour déplacer le pointeur de fichier du fichier.
HRESULT Seek(
LONGLONG nOffset,
DWORD dwFrom = FILE_CURRENT) throw();
Paramètres
nOffset
Décalage du point de départ donné par dwFrom.
dwFrom
Point de départ (FILE_BEGIN, FILE_CURRENT ou FILE_END).
Valeur de retour
Retourne S_OK sur la réussite ou une erreur HRESULT en cas d’échec.
Notes
Appelle SetFilePointer pour déplacer le pointeur de fichier.
CAtlFile ::SetSize
Appelez cette méthode pour définir la taille du fichier.
HRESULT SetSize(ULONGLONG nNewLen) throw();
Paramètres
nNewLen
Nouvelle longueur du fichier en octets.
Valeur de retour
Retourne S_OK sur la réussite ou une erreur HRESULT en cas d’échec.
Notes
Appelle SetFilePointer et SetEndOfFile pour définir la taille du fichier. Au retour, le pointeur de fichier est positionné à la fin du fichier.
CAtlFile ::UnlockRange
Appelez cette méthode pour déverrouiller une région du fichier.
HRESULT UnlockRange(ULONGLONG nPos, ULONGLONG nCount) throw();
Paramètres
nPos
Position dans le fichier où le déverrouillage doit commencer.
nCount
Longueur de la plage d’octets à déverrouiller.
Valeur de retour
Retourne S_OK sur la réussite ou une erreur HRESULT en cas d’échec.
Notes
Appelle UnlockFile pour déverrouiller une région du fichier.
CAtlFile ::Write
Appelez cette méthode pour écrire des données dans le fichier en commençant à la position indiquée par le pointeur de fichier.
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();
Paramètres
pBuffer
Mémoire tampon contenant les données à écrire dans le fichier.
nBufSize
Nombre d’octets à transférer à partir de la mémoire tampon.
pOverlapped
Structure superposée. Consultez lpOverlapped dans WriteFile dans le Kit de développement logiciel (SDK) Windows.
pfnCompletionRoutine
Routine d’achèvement. Consultez lpCompletionRoutine dans WriteFileEx dans le Kit de développement logiciel (SDK) Windows.
pnBytesWritten
Octets écrits.
Valeur de retour
Retourne S_OK sur la réussite ou une erreur HRESULT en cas d’échec.
Notes
Les trois premiers formulaires appellent WriteFile, le dernier appelle WriteFileEx pour écrire des données dans le fichier. Utilisez CAtlFile ::Seek pour déplacer le pointeur de fichier.
Voir aussi
Exemple de marque
Vue d’ensemble de la classe
CHandle, classe