Função ZwUnlockFile (ntifs.h)

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

Sintaxe

NTSYSAPI NTSTATUS ZwUnlockFile(
  [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 ZwUnlockFile retorna STATUS_SUCCESS em caso de êxito ou um valor NTSTATUS apropriado. Os valores possíveis de NTSTATUS incluem:

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

Comentários

A rotina ZwUnlockFile 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 ZwUnlockFile . Não é possível desbloquear dois intervalos adjacentes bloqueados anteriormente com uma única chamada para ZwUnlockFile. Também não é possível desbloquear parte de um intervalo que foi bloqueado anteriormente com uma única chamada para a rotina ZwUnlockFile .

Os chamadores de ZwUnlockFile 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 ZwUnlockFile ocorrer no modo de usuário, você deverá usar o nome "NtUnlockFile" em vez de "ZwUnlockFile".

Para chamadas de drivers de modo kernel, as versões NtXxx e ZwXxx de uma rotina do Windows Native System Services 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 Using Nt and Zw Versions of the Native System Services Routines.

Requisitos

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

Confira também

ZwLockFile