Fonction MmDoesFileHaveUserWritableReferences (ntifs.h)
La fonction MmDoesFileHaveUserWritableReferences retourne le nombre de références accessibles en écriture pour un objet de fichier.
Syntaxe
ULONG MmDoesFileHaveUserWritableReferences(
[in] PSECTION_OBJECT_POINTERS SectionPointer
);
Paramètres
[in] SectionPointer
Pointeur vers une structure de SECTION_OBJECT_POINTERS qui contient les pointeurs de l’objet de section de l’objet de fichier. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.
Valeur retournée
MmDoesFileHaveUserWritableReferences retourne le nombre de références accessibles en écriture pour l’objet de fichier associé au paramètre SectionPointer .
Remarques
MmDoesFileHaveUserWritableReferences retourne le nombre de références accessibles en écriture pour l’objet de fichier associé au paramètre SectionPointer . Cette valeur de retour est la somme des nombres suivants :
Nombre de handles de fichier accessibles en écriture pour l’objet de fichier associé.
Nombre de sections accessibles en écriture pour l’objet de fichier associé.
Nombre de vues accessibles en écriture pour l’objet de fichier associé.
Nombre de MDLen suspens, qui sont des régions de mappage pour l’objet de fichier associé.
Pour les systèmes de fichiers transactionnels, vous pouvez utiliser cette fonction pour déterminer si une transaction donnée fait référence à un objet de fichier qui peut être modifié. Si c’est le cas, la transaction doit être restaurée, car l’atomicité ne peut pas être garantie.
Avant d’appeler MmDoesFileHaveUserWritableReferences, les systèmes de fichiers transactionnels doivent case activée et intercepter la création d’objets de fichier qui spécifient l’accès en écriture. Plus précisément, avant de commencer une transaction, les systèmes de fichiers transactionnels doivent s’assurer qu’aucun objet de fichier accessible en écriture n’existe actuellement pour le fichier donné dans la transaction. Pendant que la transaction est en cours, les systèmes de fichiers transactionnels doivent échouer les demandes de création d’objets de fichiers avec un accès en écriture pour les fichiers traités.
Notes
Cette fonction peut être utilisée pour détecter s’il existe des vues accessibles en écriture pour un objet de fichier, même lorsque tous les handles de fichier et les handles de section pour l’objet fichier ont été fermés.
Pour plus d’informations sur les transactions, consultez Kernel Transaction Manager.
Pour plus d’informations sur les objets de fichier, consultez FILE_OBJECT.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista |
Plateforme cible | Universal |
En-tête | ntifs.h (inclure Fltkernel.h, Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
Règles de conformité DDI | HwStorPortProhibitedDDIs(storport) |