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 |