Freigeben über


FltAllocateFileLock-Funktion (fltkernel.h)

Die FltAllocateFileLock- Routine weist eine neue FILE_LOCK Struktur zu und initialisiert sie.

Syntax

PFILE_LOCK FLTAPI FltAllocateFileLock(
  [in, optional] PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE CompleteLockCallbackDataRoutine,
  [in, optional] PUNLOCK_ROUTINE                          UnlockRoutine
);

Parameter

[in, optional] CompleteLockCallbackDataRoutine

Zeigen Sie auf eine PFLT_COMPLETE_LOCK_CALLBACK_DATA_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

FltAllocateFileLock gibt einen Zeiger auf die neu zugeordnete FILE_LOCK Struktur zurück.

Bemerkungen

FltAllocateFileLock eine neue FILE_LOCK Struktur aus seitenseitigem Pool zuordnet und initialisiert sie.

Die zurückgegebene FILE_LOCK Struktur kann verwendet werden, um einen Bytebereich in einer Datei zu sperren, indem FltProcessFileLockaufgerufen wird.

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

Rufen Sie FltFreeFileLockauf, um eine initialisierte FILE_LOCK Struktur frei zu geben.

Wenn der an FltProcessFileLock übergebene parameter CallbackData einen schnellen E/A-Vorgang darstellt, wird der in CompleteLockCallbackDataRoutine angegebene Rückruf nicht aufgerufen. Nur wenn der E/A-Vorgang in CallbackData- ein IRP ist und CompleteLockCallbackDataRou tine nicht NULL ist, wird die Rückrufroutine aufgerufen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows XP SP2
mindestens unterstützte Server- Windows Server 2003 SP1
Zielplattform- Universal
Header- fltkernel.h (include Fltkernel.h)
Library FltMgr.lib
IRQL- <= APC_LEVEL

Siehe auch

FILE_LOCK

FltCheckLockForReadAccess-

FltCheckLockForWriteAccess

FltFreeFileLock

FltInitializeFileLock

FltProcessFileLock-

FltUninitializeFileLock

FsRtlAllocateFileLock

IRP_MJ_LOCK_CONTROL

PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE

PUNLOCK_ROUTINE