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) |