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 |