Freigeben über


FsRtlInitializeFileLock-Funktion (ntifs.h)

Die FsRtlInitializeFileLock Routine initialisiert eine FILE_LOCK Struktur.

Syntax

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

Parameter

[in] FileLock

Zeiger auf eine nicht initialisierte FILE_LOCK Struktur.

[in, optional] CompleteLockIrpRoutine

Zeigen Sie auf eine PCOMPLETE_LOCK_IRP_ROUTINE-typierte Rückrufroutine, die aufgerufen werden soll, wenn eine IRP_MJ_LOCK_CONTROL Anforderung abgeschlossen ist. Dieser Parameter ist optional und kann NULL sein.

[in, optional] UnlockRoutine

Zeiger auf eine PUNLOCK_ROUTINE-typierte Rückrufroutine, die aufgerufen werden soll, wenn der Bytebereich entsperrt wird. Dieser Parameter ist optional und kann NULL sein.

Rückgabewert

Nichts

Bemerkungen

FsRtlInitializeFileLock initialisiert eine nicht initialisierte FILE_LOCK Struktur.

Es ist ein Programmierfehler, FsRtlInitializeFileLock für eine FILE_LOCK Struktur aufzurufen, die bereits von FsRtlInitializeFileLock oder FltAllocateFileLockinitialisiert wurde, es sei denn, die Struktur wurde durch einen nachfolgenden Aufruf von FsRtlUninitializeFileLocknicht initialisiert.

Nach der Initialisierung kann die FILE_LOCK-Struktur verwendet werden, um einen Bytebereich in einer Datei zu sperren, indem FsRtlProcessFileLock oderFsRtlFastLockaufgerufen wird. FsRtlProcessFileLock Sperr-IRPs verarbeitet. FsRtlFastLock führt nicht-IRP-Sperren durch.

Wenn die FILE_LOCK Struktur nicht mehr benötigt wird, kann sie durch Aufrufen FsRtlUninitializeFileLocknicht initialisiert werden. Die nicht initialisierte FILE_LOCK-Struktur kann dann für die Wiederverwendung initialisiert werden, indem FsRtlInitializeFileLockaufgerufen wird.

Minifilter müssen FltInitializeFileLock anstelle von FsRtlInitializeFileLockaufrufen.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- ntifs.h (einschließlich Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= APC_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs(storport)

Siehe auch

FILE_LOCK

FltInitializeFileLock

FltAllocateFileLock

FsRtlAreThereCurrentFileLocks

FsRtlFastLock

FsRtlProcessFileLock-

FsRtlUninitializeFileLock

IRP_MJ_LOCK_CONTROL

IoCompleteRequest-

PCOMPLETE_LOCK_IRP_ROUTINE

PUNLOCK_ROUTINE