Fonction FltAllocateFileLock (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 à 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 retournée

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

Remarques

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

La structure 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 de FILE_LOCK non initialisée peut ensuite être initialisée pour être réutilisée en appelant FltInitializeFileLock.

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

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP SP2
Serveur minimal pris en charge Windows Server 2003 SP1
Plateforme cible Universal
En-tête fltkernel.h (inclure 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