Partager via


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)