Partager via


FsRtlInitializeFileLock, fonction (ntifs.h)

La routine FsRtlInitializeFileLock initialise une structure FILE_LOCK.

Syntaxe

void FsRtlInitializeFileLock(
  [in]           PFILE_LOCK                 FileLock,
  [in, optional] PCOMPLETE_LOCK_IRP_ROUTINE CompleteLockIrpRoutine,
  [in, optional] PUNLOCK_ROUTINE            UnlockRoutine
);

Paramètres

[in] FileLock

Pointeur vers une structure FILE_LOCK non initialisée.

[in, optional] CompleteLockIrpRoutine

Pointeur vers une routine de rappel PCOMPLETE_LOCK_IRP_ROUTINE-typée à appeler lorsqu’une demande de IRP_MJ_LOCK_CONTROL est terminée. Ce paramètre est facultatif et peut être NULL.

[in, optional] UnlockRoutine

Pointeur vers une routine de rappel PUNLOCK_ROUTINE-typée à appeler lorsque la plage d’octets est déverrouillée. Ce paramètre est facultatif et peut être NULL.

Valeur de retour

Aucun

Remarques

FsRtlInitializeFileLock initialise une structure FILE_LOCK non initialisée.

Il s’agit d’une erreur de programmation pour appeler FsRtlInitializeFileLock pour une structure FILE_LOCK qui a déjà été initialisée par FsRtlInitializeFileLock ou FltAllocateFileLock, sauf si la structure a été non initialisée par un appel ultérieur à FsRtlUninitializeFileLock.

Une fois initialisée, la structure FILE_LOCK peut être utilisée pour verrouiller une plage d’octets dans un fichier en appelant FsRtlProcessFileLock ouFsRtlFastLock. FsRtlProcessFileLock traite les irps de verrouillage. FsRtlFastLock effectue un verrouillage non IRP.

Lorsque la structure FILE_LOCK n’est plus nécessaire, elle peut être non initialisée en appelant FsRtlUninitializeFileLock. La structure FILE_LOCK non initialisée peut ensuite être initialisée pour la réutilisation en appelant FsRtlInitializeFileLock.

Les minifilters doivent appeler FltInitializeFileLock au lieu de FsRtlInitializeFileLock.

Exigences

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

Voir aussi

FILE_LOCK

FltInitializeFileLock

FltAllocateFileLock

FsRtlAreThereCurrentFileLocks

FsRtlFastLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock

IRP_MJ_LOCK_CONTROL

IoCompleteRequest

PCOMPLETE_LOCK_IRP_ROUTINE

PUNLOCK_ROUTINE