Utilisation d’un handle de fichier
Le tableau suivant répertorie les opérations que les pilotes peuvent effectuer sur un handle de fichier et les routines correspondantes qui effectuent ces opérations.
Opération | Routine à appeler |
---|---|
Lisez les données du fichier. |
|
Écrire des données dans le fichier. |
|
Lisez les métadonnées pour le fichier ou le handle de fichier. |
|
Écrire des métadonnées pour le fichier ou le handle de fichier. |
Pour indiquer où dans le fichier commencer à lire ou écrire des données, vous passez un paramètre ByteOffset à ZwReadFile ou ZwWriteFile, respectivement.
Si vous avez ouvert le handle avec FILE_APPEND_DATA accès, toutes les données sont écrites à la fin du fichier et le paramètre ByteOffset est ignoré.
Dans certaines conditions, le gestionnaire d’E/S gère un pointeur de position de fichier actif pour le fichier. Vous pouvez commencer une opération de lecture ou d’écriture à cette position en spécifiant NULL pour ByteOffset. Pour plus d’informations sur l’existence du pointeur de position de fichier actuel, consultez Utilisation de la position de fichier actuelle plus loin dans cette section.
Pour examiner ou modifier les informations relatives à un fichier, appelez respectivement ZwQueryInformationFile ou ZwSetInformationFile. Vous spécifiez le type particulier d’informations en tant que paramètre FileInformationClass pour chaque routine. Par exemple, la définition de FileInformationClass sur FileBasicInformation vous permet d’examiner ou de modifier une structure de FILE_BASIC_INFORMATION , qui contient des membres pour l’heure de création du fichier et l’heure du dernier accès, entre autres. Pour plus d’informations sur toutes les valeurs possibles pour FileInformationClass, consultez FILE_INFORMATION_CLASS.