Función FsRtlInitializeFileLock (ntifs.h)

La rutina FsRtlInitializeFileLock inicializa una estructura de FILE_LOCK.

Sintaxis

void FsRtlInitializeFileLock(
  [in]           PFILE_LOCK                 FileLock,
  [in, optional] PCOMPLETE_LOCK_IRP_ROUTINE CompleteLockIrpRoutine,
  [in, optional] PUNLOCK_ROUTINE            UnlockRoutine
);

Parámetros

[in] FileLock

Puntero a una estructura de FILE_LOCK sin inicializar.

[in, optional] CompleteLockIrpRoutine

Puntero a una rutina de devolución de llamada con tipo PCOMPLETE_LOCK_IRP_ROUTINE que se llamará cuando se complete una solicitud de IRP_MJ_LOCK_CONTROL . Este parámetro es opcional y puede ser NULL.

[in, optional] UnlockRoutine

Puntero a una rutina de devolución de llamada con tipo PUNLOCK_ROUTINE que se va a llamar cuando se desbloquea el intervalo de bytes. Este parámetro es opcional y puede ser NULL.

Valor devuelto

None

Observaciones

FsRtlInitializeFileLock inicializa una estructura de FILE_LOCK sin inicializar.

Es un error de programación llamar a FsRtlInitializeFileLock para una estructura de FILE_LOCK que FsRtlInitializeFileLock o FltAllocateFileLock ya ha inicializado mediante una llamada posterior a FsRtlUninitializeFileLock.

Una vez inicializado, la estructura de FILE_LOCK se puede usar para bloquear un intervalo de bytes en un archivo llamando a FsRtlProcessFileLock oFsRtlFastLock. FsRtlProcessFileLock procesa IRP de bloqueo. FsRtlFastLock realiza bloqueos que no son IRP.

Cuando la estructura de FILE_LOCK ya no es necesaria, se puede anular la inicialización llamando a FsRtlUninitializeFileLock. La estructura de FILE_LOCK sin inicializar se puede inicializar para su reutilización llamando a FsRtlInitializeFileLock.

Los minifiltros deben llamar a FltInitializeFileLock en lugar de FsRtlInitializeFileLock.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= APC_LEVEL
Reglas de cumplimiento de DDI HwStorPortProhibitedDDIs(storport)

Consulte también

FILE_LOCK

FltInitializeFileLock

FltAllocateFileLock

FsRtlAreThereCurrentFileLocks

FsRtlFastLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock

IRP_MJ_LOCK_CONTROL

IoCompleteRequest

PCOMPLETE_LOCK_IRP_ROUTINE

PUNLOCK_ROUTINE