Macro FsRtlFastLock (ntifs.h)
La macro fsRtlFastLock
Sintassi
BOOLEAN
FsRtlFastLock( A1, /* FileLock */
A2, /* FileObject */
A3, /* FileOffset */
A4, /* Length */
A5, /* ProcessId */
A6, /* Key */
A7, /* FailImmediately */
A8, /* ExclusiveLock */
A9, /* Iosb */
A10, /* Context */
A11 /* AlreadySynchronized */ )
Parametri
A1
[in] FileLock: puntatore alla struttura FILE_LOCK per il file. Questa struttura deve essere stata inizializzata da una chiamata precedente a FsRtlAllocateFileLock o FsRtlInitializeFileLock.
A2
[in] FileObject: puntatore al FILE_OBJECT per il file aperto. L'oggetto file deve essere stato creato con GENERIC_READ o GENERIC_WRITE l'accesso al file (o a entrambi).
A3
[in] FileOffset: puntatore a una variabile che specifica l'offset dei byte iniziale all'interno del file dell'intervallo da bloccare.
A4
[in] Lunghezza: puntatore a una variabile che specifica la lunghezza in byte dell'intervallo da bloccare.
A5
[in]
A6
[in] Chiave: chiave da assegnare al blocco dell'intervallo di byte.
A7
[in] FailImmediately: valore booleano che specifica se la richiesta di blocco deve avere esito negativo se il blocco non può essere concesso immediatamente. Se il chiamante può essere inserito in uno stato di attesa fino a quando non viene concessa la richiesta, impostare FailImmediately su FALSE. Se non è possibile, impostare FailImmediately su TRUE.
A8
[in] ExclusiveLock: impostare su TRUE se viene richiesto un blocco esclusivo, FALSE se viene richiesto un blocco condiviso.
A9
[out] Iosb: puntatore a una struttura di IO_STATUS_BLOCK allocata dal chiamante che riceve informazioni sullo stato relative alla richiesta di blocco.
A10
[in] Context: puntatore facoltativo a un contesto da usare quando si rilascia il blocco dell'intervallo di byte.
A11
[in] AlreadySynchronized: questo parametro è obsoleto, ma viene mantenuto per la compatibilità con i driver legacy.
Valore restituito
Nessuno
Osservazioni
La macro FsRtlFastLock fa sì che il chiamante acquisisca un blocco di intervallo di byte in un'area del file specificato.
FsRtlFastLock restituisce TRUE per indicare che la struttura IO_STATUS_BLOCK a cui punta Iosb informazioni sullo stato ricevute sull'operazione di blocco; in caso contrario restituisce FALSE.
Per esaminare il contenuto della struttura a cui punta Iosb, utilizzare la macro NT_STATUS.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione |
ntifs.h (include Ntifs.h) |
IRQL | <= APC_LEVEL |