Funzione FsRtlInitializeFileLock (ntifs.h)
La routine FsRtlInitializeFileLock inizializza una struttura FILE_LOCK.
Sintassi
void FsRtlInitializeFileLock(
[in] PFILE_LOCK FileLock,
[in, optional] PCOMPLETE_LOCK_IRP_ROUTINE CompleteLockIrpRoutine,
[in, optional] PUNLOCK_ROUTINE UnlockRoutine
);
Parametri
[in] FileLock
Puntatore a una struttura di FILE_LOCK non inizializzata.
[in, optional] CompleteLockIrpRoutine
Puntatore a una routine di callback PCOMPLETE_LOCK_IRP_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
Nessuno
Osservazioni
FsRtlInitializeFileLock inizializza una struttura di FILE_LOCK non inizializzata.
Si tratta di un errore di programmazione per chiamare FsRtlInitializeFileLock per una struttura FILE_LOCK già inizializzata da FsRtlInitializeFileLock o FltAllocateFileLock, a meno che la struttura non sia stata inizializzata da una chiamata successiva a FsRtlUninitializeFileLock.
Dopo l'inizializzazione, la struttura FILE_LOCK può essere usata per bloccare un intervallo di byte in un file chiamando FsRtlProcessFileLock oFsRtlFastLock. FsRtlProcessFileLock elabora i runtime di integrazione di blocco. FsRtlFastLock esegue il blocco non IRP.
Quando la struttura FILE_LOCK non è più necessaria, può essere annullata chiamando FsRtlUninitializeFileLock. La struttura di FILE_LOCK non inizializzata può quindi essere inizializzata per il riutilizzo chiamando FsRtlInitializeFileLock.
I minifiltri devono chiamare FltInitializeFileLock anziché FsRtlInitializeFileLock.