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 FILE_LOCK non initialisée.
[in, optional] CompleteLockIrpRoutine
Pointeur vers une routine de rappel PCOMPLETE_LOCK_IRP_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
Aucun
Remarques
FsRtlInitializeFileLock initialise une structure FILE_LOCK non initialisée.
Il s’agit d’une erreur de programmation pour 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 FILE_LOCK non initialisée peut ensuite être initialisée pour la réutilisation en appelant FsRtlInitializeFileLock.
Les minifilters doivent appeler FltInitializeFileLock au lieu de FsRtlInitializeFileLock.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
d’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) |