Partager via


FltAllocateFileLock, fonction (fltkernel.h)

La routine FltAllocateFileLock alloue et initialise une nouvelle structure FILE_LOCK.

Syntaxe

PFILE_LOCK FLTAPI FltAllocateFileLock(
  [in, optional] PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE CompleteLockCallbackDataRoutine,
  [in, optional] PUNLOCK_ROUTINE                          UnlockRoutine
);

Paramètres

[in, optional] CompleteLockCallbackDataRoutine

Pointeur vers une routine de rappel PFLT_COMPLETE_LOCK_CALLBACK_DATA_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

FltAllocateFileLock retourne un pointeur vers la structure FILE_LOCK nouvellement allouée.

Remarques

FltAllocateFileLock alloue une nouvelle structure de FILE_LOCK à partir d’un pool paginé et l’initialise.

La structure de FILE_LOCK retournée peut être utilisée pour verrouiller une plage d’octets dans un fichier en appelant FltProcessFileLock.

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

Pour libérer une structure de FILE_LOCK initialisée, appelez FltFreeFileLock.

Lorsque le paramètre CallbackData passé à FltProcessFileLock représente une opération d’E/S rapide, le rappel spécifié dans CompleteLockCallbackDataRoutine n’est pas appelé. Uniquement lorsque l’opération d’E/S dans CallbackData est un IRP, et CompleteLockCallbackDataRoutine n’est pas NULL, la routine de rappel est appelée.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP SP2
serveur minimum pris en charge Windows Server 2003 SP1
plateforme cible Universel
d’en-tête fltkernel.h (include Fltkernel.h)
bibliothèque FltMgr.lib
IRQL <= APC_LEVEL

Voir aussi

FILE_LOCK

FltCheckLockForReadAccess

FltCheckLockForWriteAccess

FltFreeFileLock

FltInitializeFileLock

FltProcessFileLock

FltUninitializeFileLock

FsRtlAllocateFileLock

IRP_MJ_LOCK_CONTROL

PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE

PUNLOCK_ROUTINE