Freigeben über


FltAllocateFileLock-Funktion (fltkernel.h)

Die FltAllocateFileLock-Routine ordnet 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

Zeiger auf eine PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE typisierte 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 typisierte 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.

Hinweise

FltAllocateFileLock ordnet eine neue FILE_LOCK-Struktur aus dem ausgelagerten Pool zu und initialisiert sie.

Die zurückgegebene FILE_LOCK-Struktur kann verwendet werden, um einen Bytebereich in einer Datei durch Aufrufen von FltProcessFileLock zu sperren.

Wenn die FILE_LOCK-Struktur nicht mehr benötigt wird, kann sie durch Aufrufen von FltUninitializeFileLock aufgehoben werden. Die nicht initialisierte FILE_LOCK-Struktur kann dann zur Wiederverwendung initialisiert werden, indem FltInitializeFileLock aufgerufen wird.

Um eine initialisierte FILE_LOCK-Struktur frei zu geben, rufen Sie FltFreeFileLock auf.

Wenn der an FltProcessFileLock übergebene CallbackData-Parameter 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 CompleteLockCallbackDataRoutine nicht NULL ist, wird die Rückrufroutine aufgerufen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP SP2
Unterstützte Mindestversion (Server) Windows Server 2003 SP1
Zielplattform Universell
Header fltkernel.h (fltkernel.h einschließen)
Bibliothek FltMgr.lib
IRQL <= APC_LEVEL

Weitere Informationen

FILE_LOCK

FltCheckLockForReadAccess

FltCheckLockForWriteAccess

FltFreeFileLock

FltInitializeFileLock

FltProcessFileLock

FltUninitializeFileLock

FsRtlAllocateFileLock

IRP_MJ_LOCK_CONTROL

PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE

PUNLOCK_ROUTINE