Macro FsRtlFastLock (ntifs.h)

A macro FsRtlFastLock é usada por sistemas de arquivos e drivers de filtro para solicitar um bloqueio de intervalo de bytes para um fluxo de arquivos.

Sintaxe

BOOLEAN
FsRtlFastLock( A1,   /* FileLock            */
               A2,   /* FileObject          */
               A3,   /* FileOffset          */
               A4,   /* Length              */
               A5,   /* ProcessId           */
               A6,   /* Key                 */
               A7,   /* FailImmediately     */
               A8,   /* ExclusiveLock       */
               A9,   /* Iosb                */
               A10,  /* Context             */
               A11   /* AlreadySynchronized */ )

Parâmetros

A1

[in] FileLock: ponteiro para a estrutura FILE_LOCK do arquivo. Essa estrutura deve ter sido inicializada por uma chamada anterior para FsRtlAllocateFileLock ou FsRtlInitializeFileLock.

A2

[in] FileObject: ponteiro para o FILE_OBJECT do arquivo aberto. O objeto de arquivo deve ter sido criado com GENERIC_READ ou GENERIC_WRITE acesso ao arquivo (ou ambos).

A3

[in] FileOffset: ponteiro para uma variável que especifica o deslocamento de bytes inicial dentro do arquivo do intervalo a ser bloqueado.

A4

[in] Comprimento: ponteiro para uma variável que especifica o comprimento em bytes do intervalo a ser bloqueado.

A5

[in] ProcessId: ponteiro para a ID do processo EPROCESS para o processo que solicita o bloqueio de intervalo de bytes.

A6

[in] Chave: a chave a ser atribuída ao bloqueio de intervalo de bytes.

A7

[in] FailImmediately: valor booliano que especifica se a solicitação de bloqueio deve falhar se o bloqueio não puder ser concedido imediatamente. Se o chamador puder ser colocado em um estado de espera até que a solicitação seja concedida, defina FailImmediately como FALSE. Se não puder, defina FailImmediately como TRUE.

A8

[in] ExclusiveLock: defina como TRUE se um bloqueio exclusivo for solicitado, FALSE se um bloqueio compartilhado for solicitado.

A9

[out] Iosb: ponteiro para uma estrutura de IO_STATUS_BLOCK alocada pelo chamador que recebe status informações sobre a solicitação de bloqueio.

A10

[in] Contexto: ponteiro opcional para um contexto a ser usado ao liberar o bloqueio de intervalo de bytes.

A11

[in] AlreadySynchronized: esse parâmetro é obsoleto, mas é mantido para compatibilidade com drivers herdados.

Retornar valor

FsRtlFastLock retorna TRUE para indicar que a estrutura de IO_STATUS_BLOCK apontada pelo Iosb recebeu status informações sobre a operação de bloqueio; caso contrário, retornará FALSE.

Comentários

A macro FsRtlFastLock faz com que o chamador adquira um bloqueio de intervalo de bytes em uma região do arquivo especificado.

Para examinar o conteúdo da estrutura para a qual o Iosb aponta, use a macro NT_STATUS.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho ntifs.h (inclua Ntifs.h)
IRQL <= APC_LEVEL

Confira também

FILE_LOCK

FsRtlAllocateFileLock

FsRtlInitializeFileLock