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