Compartilhar via


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.

Valor de retorno

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

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

Observações

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 de 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 de NtUnlockFile .

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

Nota

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 versões de uma rotina dos Serviços de 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 de serviços do sistema nativo.

Requisitos

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

Consulte também

usando versões Nt e Zw das rotinas de serviços do sistema nativo

NtLockFile