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 |