Função NtUnlockFile (ntifs.h)

A rotina NtUnlockFile desbloqueia um bloqueio de intervalo de bytes em um arquivo.

Sintaxe

__kernel_entry NTSYSCALLAPI NTSTATUS NtUnlockFile(
  [in]  HANDLE           FileHandle,
  [out] PIO_STATUS_BLOCK IoStatusBlock,
  [in]  PLARGE_INTEGER   ByteOffset,
  [in]  PLARGE_INTEGER   Length,
  [in]  ULONG            Key
);

Parâmetros

[in] FileHandle

Um identificador para o objeto de arquivo que representa o arquivo cujo intervalo de bytes deve ser desbloqueado.

[out] IoStatusBlock

Um ponteiro para uma estrutura IO_STATUS_BLOCK que contém o status final.

[in] ByteOffset

Um ponteiro para uma variável que especifica o deslocamento de bytes inicial para o intervalo de bytes a ser desbloqueado.

[in] Length

Um ponteiro para uma variável que especifica o comprimento, em bytes, do intervalo de bytes a ser desbloqueado.

[in] Key

O valor atribuído pelo chamador usado para descrever grupos de bloqueios relacionados. Esse valor deve ser definido como zero.

Retornar valor

A rotina NtUnlockFile retorna STATUS_SUCCESS com êxito ou um valor NTSTATUS apropriado. Os valores NTSTATUS possíveis incluem:

Código de retorno Descrição
STATUS_RANGE_NOT_LOCKED O intervalo de bytes especificado não está bloqueado.

Comentários

A rotina NtUnlockFile usa um intervalo de bytes conforme especificado pelos argumentos ByteOffset e Length . Esse intervalo deve ser idêntico a um intervalo de bytes no arquivo que foi bloqueado anteriormente com uma única chamada para a rotina NtUnlockFile . Não é possível desbloquear dois intervalos adjacentes bloqueados anteriormente com uma única chamada para NtUnlockFile. Também não é possível desbloquear parte de um intervalo que foi bloqueado anteriormente com uma única chamada para a rotina NtUnlockFile .

Os chamadores de NtUnlockFile devem estar em execução em IRQL = PASSIVE_LEVEL e com APCs de kernel especiais habilitadas**.

Observação

Se a chamada para a função NtUnlockFile ocorrer no modo kernel, você deverá usar o nome "ZwUnlockFile" em vez de "NtUnlockFile".

Para chamadas de drivers no modo kernel, as versões NtXxx e ZwXxx de uma rotina dos Serviços do Sistema Nativo do Windows podem se comportar de forma diferente na maneira como lidam e interpretam parâmetros de entrada. Para obter mais informações sobre a relação entre as versões NtXxx e ZwXxx de uma rotina, consulte Usando versões Nt e Zw das rotinas dos Serviços de Sistema Nativo.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7
Plataforma de Destino Universal
Cabeçalho ntifs.h (inclua Ntifs.h, FltKernel.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (consulte a seção Comentários)
Regras de conformidade de DDI HwStorPortProhibitedDIs, PowerIrpDDis

Confira também

Usando versões Nt e Zw das rotinas dos Serviços de Sistema Nativo

NtLockFile