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 de FILE_LOCK non initialisée.

[in, optional] CompleteLockIrpRoutine

Pointeur vers une routine de rappel PCOMPLETE_LOCK_IRP_ROUTINE à 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 à appeler lorsque la plage d’octets est déverrouillée. Ce paramètre est facultatif et peut être NULL.

Valeur de retour

None

Remarques

FsRtlInitializeFileLock initialise une structure de FILE_LOCK non initialisée.

Il s’agit d’une erreur de programmation d’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 de FILE_LOCK non initialisée peut ensuite être initialisée pour être réutilisée en appelant FsRtlInitializeFileLock.

Les minifilters doivent appeler FltInitializeFileLock au lieu de FsRtlInitializeFileLock.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
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