Macro FsRtlFastLock (ntifs.h)

La macro FsRtlFastLock viene usata dai file system e dai driver di filtro per richiedere un blocco di byte-range per un flusso di file.

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 entrambi).

A3

[in] FileOffset: puntatore a una variabile che specifica l'offset di 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] ProcessId: puntatore all'ID processo EPROCESS per il processo che richiede il blocco di byte-range.

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 non riuscire 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 IO_STATUS_BLOCK allocata dal chiamante che riceve informazioni sullo stato della richiesta di blocco.

A10

[in] Contesto: puntatore facoltativo a un contesto da usare quando si rilascia il blocco intervallo di byte.

A11

[in] GiàSynchronized: questo parametro è obsoleto, ma viene mantenuto per la compatibilità con i driver legacy.

Valore restituito

FsRtlFastLock restituisce TRUE per indicare che la struttura IO_STATUS_BLOCK puntata da Iosb ha ricevuto informazioni sullo stato sull'operazione di blocco; in caso contrario, restituisce FALSE.

Commenti

La macro FsRtlFastLock causa l'acquisizione di un blocco di intervallo byte in un'area del file specificato.

Per esaminare il contenuto della struttura a cui punta Iosb , usare la macro NT_STATUS.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione ntifs.h (include Ntifs.h)
IRQL <= APC_LEVEL

Vedi anche

FILE_LOCK

FsRtlAllocateFileLock

FsRtlInitializeFileLock