Partager via


MmDoesFileHaveUserWritableReferences, fonction (ntifs.h)

La fonction MmDoesFileHaveUserWritableReferences détermine si un fichier associé à une transaction comporte des sections mappées par l’utilisateur.

Syntaxe

ULONG MmDoesFileHaveUserWritableReferences(
  [in] PSECTION_OBJECT_POINTERS SectionPointer
);

Paramètres

[in] SectionPointer

Pointeur vers une structure SECTION_OBJECT_POINTERS qui contient les pointeurs d’objet de section de l’objet de fichier. Ce paramètre est obligatoire et ne peut pas être NULL.

Valeur de retour

MmDoesFileHaveUserWritableReferences retourne l’une des valeurs suivantes.

Valeur de retour Signification
0 L’objet fichier n’a pas de sections mappées par l’utilisateur. Il est sûr de procéder à la transaction.
1 L’objet fichier comporte des sections mappées par l’utilisateur. La transaction doit être restaurée.

Remarques

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 changer. Si c’est le cas, la transaction doit être restaurée, car atomicité ne peut pas être garantie.

Avant d’appeler MmDoesFileHaveUserWritableReferences, les systèmes de fichiers transactionnels doivent vérifier et intercepter la création d’objets de fichier qui spécifient l’accès en écriture. Plus précisément, avant de démarrer une transaction, les systèmes de fichiers transactionnels doivent s’assurer qu’il n’existe aucun objet de fichier accessible en écriture qui existe actuellement pour le fichier donné dans la transaction. Pendant que la transaction est en cours, les systèmes de fichiers transactionnels doivent échouer aux demandes de création d’objets de fichier avec accès en écriture pour les fichiers traités.

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 handles de section pour l’objet de 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista
plateforme cible Universel
d’en-tête ntifs.h (include Fltkernel.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
règles de conformité DDI HwStorPortProhibitedDDIs(storport)

Voir aussi

FILE_OBJECT

SECTION_OBJECT_POINTERS