Condividi tramite


Funzione FltAllocateFileLock (fltkernel.h)

La routine FltAllocateFileLock alloca e inizializza una nuova struttura FILE_LOCK.

Sintassi

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

Parametri

[in, optional] CompleteLockCallbackDataRoutine

Puntatore a una routine di callback PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINEtipizzata da chiamare quando viene completata una richiesta di IRP_MJ_LOCK_CONTROL. Questo parametro è facoltativo e può essere NULL.

[in, optional] UnlockRoutine

Puntatore a una routine di callback PUNLOCK_ROUTINEtipizzata da chiamare quando l'intervallo di byte viene sbloccato. Questo parametro è facoltativo e può essere NULL.

Valore restituito

FltAllocateFileLock restituisce un puntatore alla struttura FILE_LOCK appena allocata.

Osservazioni

FltAllocateFileLock alloca una nuova struttura FILE_LOCK dal pool di paging e la inizializza.

La struttura FILE_LOCK restituita può essere usata per bloccare un intervallo di byte in un file chiamando FltProcessFileLock.

Quando la struttura FILE_LOCK non è più necessaria, può essere inizializzata chiamando FltUninitializeFileLock. La struttura di FILE_LOCK non inizializzata può quindi essere inizializzata per il riutilizzo chiamando FltInitializeFileLock.

Per liberare una struttura di FILE_LOCK inizializzata, chiamare FltFreeFileLock.

Quando il parametro CallbackData passato a FltProcessFileLock rappresenta un'operazione di I/O veloce, il callback specificato in CompleteLockCallbackDataRoutine non viene richiamato. Solo quando l'operazione di I/O in CallbackData è un IRP e CompleteLockCallbackDataRoutine non è NULL, verrà chiamata la routine di callback.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP SP2
server minimo supportato Windows Server 2003 SP1
piattaforma di destinazione Universale
intestazione fltkernel.h (include Fltkernel.h)
libreria FltMgr.lib
IRQL <= APC_LEVEL

Vedere anche

FILE_LOCK

FltCheckLockForReadAccess

FltCheckLockForWriteAccess

FltFreeFileLock

FltInitializeFileLock

FltProcessFileLock

FltUninitializeFileLock

FsRtlAllocateFileLock

IRP_MJ_LOCK_CONTROL

PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE

PUNLOCK_ROUTINE