CAtlTemporaryFile, classe
Cette classe fournit des méthodes pour la création et l’utilisation d’un fichier temporaire.
Important
Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s’exécutent dans Windows Runtime.
Syntaxe
class CAtlTemporaryFile
Membres
Constructeurs publics
Nom | Description |
---|---|
CAtlTemporaryFile ::CAtlTemporaryFile | Constructeur . |
CAtlTemporaryFile ::~CAtlTemporaryFile | Destructeur. |
Méthodes publiques
Nom | Description |
---|---|
CAtlTemporaryFile ::Close | Appelez cette méthode pour fermer un fichier temporaire et supprimer son contenu ou les stocker sous le nom de fichier spécifié. |
CAtlTemporaryFile ::Create | Appelez cette méthode pour créer un fichier temporaire. |
CAtlTemporaryFile ::Flush | Appelez cette méthode pour forcer l’écriture de toutes les données restantes dans la mémoire tampon de fichier dans le fichier temporaire. |
CAtlTemporaryFile ::GetPosition | Appelez cette méthode pour obtenir la position actuelle du pointeur de fichier. |
CAtlTemporaryFile ::GetSize | Appelez cette méthode pour obtenir la taille en octets du fichier temporaire. |
CAtlTemporaryFile ::HandsOff | Appelez cette méthode pour dissocier le fichier de l’objet CAtlTemporaryFile . |
CAtlTemporaryFile ::HandsOn | Appelez cette méthode pour ouvrir un fichier temporaire existant et positionner le pointeur à la fin du fichier. |
CAtlTemporaryFile ::LockRange | Appelez cette méthode pour verrouiller une région dans le fichier pour empêcher d’autres processus de l’accéder. |
CAtlTemporaryFile ::Read | Appelez cette méthode pour lire les données du fichier temporaire en commençant à la position indiquée par le pointeur de fichier. |
CAtlTemporaryFile ::Seek | Appelez cette méthode pour déplacer le pointeur de fichier du fichier temporaire. |
CAtlTemporaryFile ::SetSize | Appelez cette méthode pour définir la taille du fichier temporaire. |
CAtlTemporaryFile ::TempFileName | Appelez cette méthode pour retourner le nom du fichier temporaire. |
CAtlTemporaryFile ::UnlockRange | Appelez cette méthode pour déverrouiller une région du fichier temporaire. |
CAtlTemporaryFile ::Write | Appelez cette méthode pour écrire des données dans le fichier temporaire en commençant à la position indiquée par le pointeur de fichier. |
Opérateurs publics
Nom | Description |
---|---|
CAtlTemporaryFile ::operator HANDLE | Retourne un handle au fichier temporaire. |
Notes
CAtlTemporaryFile
facilite la création et l’utilisation d’un fichier temporaire. Le fichier est automatiquement nommé, ouvert, fermé et supprimé. Si le contenu du fichier est requis une fois le fichier fermé, il peut être enregistré dans un nouveau fichier avec un nom spécifié.
Spécifications
En-tête : atlfile.h
Exemple
Consultez l’exemple de CAtlTemporaryFile ::CAtlTemporaryFile.
CAtlTemporaryFile ::CAtlTemporaryFile
Constructeur .
CAtlTemporaryFile() throw();
Notes
Un fichier n’est pas réellement ouvert tant qu’un appel n’est pas effectué à CAtlTemporaryFile ::Create.
Exemple
// 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
Destructeur.
~CAtlTemporaryFile() throw();
Notes
Le destructeur appelle CAtlTemporaryFile ::Close.
CAtlTemporaryFile ::Close
Appelez cette méthode pour fermer un fichier temporaire et supprimer son contenu ou les stocker sous le nom de fichier spécifié.
HRESULT Close(LPCTSTR szNewName = NULL) throw();
Paramètres
szNewName
Nom du nouveau fichier dans lequel stocker le contenu du fichier temporaire. Si cet argument est NULL, le contenu du fichier temporaire est supprimé.
Valeur de retour
Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.
Exemple
Consultez l’exemple de CAtlTemporaryFile ::CAtlTemporaryFile.
CAtlTemporaryFile ::Create
Appelez cette méthode pour créer un fichier temporaire.
HRESULT Create(LPCTSTR pszDir = NULL, DWORD dwDesiredAccess = GENERIC_WRITE) throw();
Paramètres
pszDir
Chemin d’accès du fichier temporaire. S’il s’agit de NULL, GetTempPath est appelé pour attribuer un chemin d’accès.
dwDesiredAccess
Accès souhaité. Consultez dwDesiredAccess dans CreateFile dans le Kit de développement logiciel (SDK) Windows.
Valeur de retour
Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.
Exemple
Consultez l’exemple de CAtlTemporaryFile ::CAtlTemporaryFile.
CAtlTemporaryFile ::Flush
Appelez cette méthode pour forcer l’écriture de toutes les données restantes dans la mémoire tampon de fichier dans le fichier temporaire.
HRESULT Flush() throw();
Valeur de retour
Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.
Notes
Similaire à CAtlTemporaryFile ::HandsOff, sauf que le fichier n’est pas fermé.
Exemple
Consultez l’exemple de CAtlTemporaryFile ::CAtlTemporaryFile.
CAtlTemporaryFile ::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 en cas de réussite ou une erreur HRESULT en cas d’échec.
Notes
Pour modifier la position du pointeur de fichier, utilisez CAtlTemporaryFile ::Seek.
CAtlTemporaryFile ::GetSize
Appelez cette méthode pour obtenir la taille en octets du fichier temporaire.
HRESULT GetSize(ULONGLONG& nLen) const throw();
Paramètres
nLen
Nombre d’octets dans le fichier.
Valeur de retour
Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.
CAtlTemporaryFile ::HandsOff
Appelez cette méthode pour dissocier le fichier de l’objet CAtlTemporaryFile
.
HRESULT HandsOff() throw();
Valeur de retour
Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.
Notes
HandsOff
et CAtlTemporaryFile ::HandsOn sont utilisés pour dissocier le fichier de l’objet et le détacher si nécessaire. HandsOff
force les données restantes dans la mémoire tampon du fichier à écrire dans le fichier temporaire, puis ferme le fichier. Si vous souhaitez fermer et supprimer définitivement le fichier, ou si vous souhaitez fermer et conserver le contenu du fichier avec un nom donné, utilisez CAtlTemporaryFile ::Close.
CAtlTemporaryFile ::HandsOn
Appelez cette méthode pour ouvrir un fichier temporaire existant et positionner le pointeur à la fin du fichier.
HRESULT HandsOn() throw();
Valeur de retour
Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.
Notes
CAtlTemporaryFile ::HandsOff et HandsOn
sont utilisés pour dissocier le fichier de l’objet et le détacher si nécessaire.
CAtlTemporaryFile ::LockRange
Appelez cette méthode pour verrouiller une région dans le fichier temporaire 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 en cas de réussite ou une erreur HRESULT en cas d’échec.
Notes
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. Pour déverrouiller une région, utilisez CAtlTemporaryFile ::UnlockRange, ce qui garantit que la plage d’octets correspond 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.
CAtlTemporaryFile ::operator HANDLE
Retourne un handle au fichier temporaire.
operator HANDLE() throw();
CAtlTemporaryFile ::Read
Appelez cette méthode pour lire les données du fichier temporaire en commençant à la position indiquée par le pointeur de fichier.
HRESULT Read(
LPVOID pBuffer,
DWORD nBufSize,
DWORD& nBytesRead) 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.
Valeur de retour
Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.
Notes
Appelle CAtlFile ::Read. Pour modifier la position du pointeur de fichier, appelez CAtlTemporaryFile ::Seek.
Exemple
Consultez l’exemple de CAtlTemporaryFile ::CAtlTemporaryFile.
CAtlTemporaryFile ::Seek
Appelez cette méthode pour déplacer le pointeur de fichier du fichier temporaire.
HRESULT Seek(LONGLONG nOffset, DWORD dwFrom = FILE_CURRENT) throw();
Paramètres
nOffset
Décalage, en octets, 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 en cas de réussite ou une erreur HRESULT en cas d’échec.
Notes
Appelle CAtlFile ::Seek. Pour obtenir la position actuelle du pointeur de fichier, appelez CAtlTemporaryFile ::GetPosition.
Exemple
Consultez l’exemple de CAtlTemporaryFile ::CAtlTemporaryFile.
CAtlTemporaryFile ::SetSize
Appelez cette méthode pour définir la taille du fichier temporaire.
HRESULT SetSize(ULONGLONG nNewLen) throw();
Paramètres
nNewLen
Nouvelle longueur du fichier en octets.
Valeur de retour
Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.
Notes
Appelle CAtlFile ::SetSize. Au retour, le pointeur de fichier est positionné à la fin du fichier.
CAtlTemporaryFile ::TempFileName
Appelez cette méthode pour retourner le nom du fichier temporaire.
LPCTSTR TempFileName() throw();
Valeur de retour
Retourne le LPCTSTR pointant vers le nom du fichier.
Notes
Le nom de fichier est généré dans CAtlTemporaryFile ::CAtlTemporaryFile avec un appel à la fonction sdk Windows GetTempFile. L’extension de fichier sera toujours « TFR » pour le fichier temporaire.
CAtlTemporaryFile ::UnlockRange
Appelez cette méthode pour déverrouiller une région du fichier temporaire.
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 en cas de réussite ou une erreur HRESULT en cas d’échec.
Notes
Appelle CAtlFile ::UnlockRange.
CAtlTemporaryFile ::Write
Appelez cette méthode pour écrire des données dans le fichier temporaire en commençant à la position indiquée par le pointeur de fichier.
HRESULT Write(
LPCVOID pBuffer,
DWORD nBufSize,
DWORD* pnBytesWritten = NULL) 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.
pnBytesWritten
Nombre d’octets écrits.
Valeur de retour
Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.
Notes
Appelle CAtlFile ::Write.
Exemple
Consultez l’exemple de CAtlTemporaryFile ::CAtlTemporaryFile.