Condividi tramite


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.

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
intestazione ntifs.h (include Ntifs.h)
libreria NtosKrnl.lib
dll NtosKrnl.exe
IRQL <= APC_LEVEL
regole di conformità DDI HwStorPortProhibitedDDIs(storport)

Vedere anche

FILE_LOCK

FltInitializeFileLock

FltAllocateFileLock

FsRtlAreThereCurrentFileLocks

FsRtlFastLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock

IRP_MJ_LOCK_CONTROL

IoCompleteRequest

PCOMPLETE_LOCK_IRP_ROUTINE

PUNLOCK_ROUTINE