Partager via


Descripteurs de fichiers

Lorsqu’un fichier est ouvert par un processus à l’aide de la fonction CreateFile , un handle de fichier lui est associé jusqu’à ce que le processus se termine ou que le handle soit fermé à l’aide de la fonction CloseHandle . Le handle de fichier est utilisé pour identifier le fichier dans de nombreux appels de fonction.

Chaque handle de fichier et chaque objet de fichier sont généralement propres à chaque processus qui ouvre un fichier. Les seules exceptions à cela sont lorsqu’un handle de fichier détenu par un processus est dupliqué ou lorsqu’un processus enfant hérite des handles de fichier du processus parent. Dans ces situations, ces descripteurs de fichiers sont uniques, mais voient un seul objet de fichier partagé. Pour plus d’informations sur la duplication de handles de fichiers détenus par des processus, consultez DuplicateHandle .

Notez que bien que les handles de fichier soient généralement privés d’un processus, les données de fichier vers laquelle les handles de fichier pointent ne le sont pas. Par conséquent, les processus et les threads qui partagent le même fichier doivent synchroniser leur accès. Pour la plupart des opérations sur un fichier, un processus identifie le fichier via son pool privé de handles.