Compartir a través de


Función NtUnlockFile (ntifs.h)

La rutina de NtUnlockFile desbloquea un bloqueo de intervalo de bytes en un archivo.

Sintaxis

__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

Identificador del objeto de archivo que representa el archivo cuyo intervalo de bytes se va a desbloquear.

[out] IoStatusBlock

Puntero a una estructura IO_STATUS_BLOCK que contiene el estado final.

[in] ByteOffset

Puntero a una variable que especifica el desplazamiento inicial de bytes para el intervalo de bytes que se va a desbloquear.

[in] Length

Puntero a una variable que especifica la longitud, en bytes, del intervalo de bytes que se va a desbloquear.

[in] Key

Valor asignado por el autor de la llamada que se usa para describir grupos de bloqueos relacionados. Este valor debe establecerse en cero.

Valor devuelto

La rutina ntUnlockFile devuelve STATUS_SUCCESS correcto o un valor NTSTATUS adecuado. Entre los posibles valores NTSTATUS se incluyen:

Código devuelto Descripción
STATUS_RANGE_NOT_LOCKED El intervalo de bytes especificado no está bloqueado.

Observaciones

La rutina de NtUnlockFile toma un intervalo de bytes según lo especificado por los argumentos de ByteOffset y Length. Este intervalo debe ser idéntico a un intervalo de bytes en el archivo que se bloqueó anteriormente con una sola llamada a la rutina de NtUnlockFile. No es posible desbloquear dos intervalos adyacentes bloqueados previamente con una sola llamada a NtUnlockFile. Tampoco es posible desbloquear parte de un intervalo bloqueado previamente con una sola llamada a la rutina de NtUnlockFile .

Los autores de llamadas de ntUnlockFile deben ejecutarse en IRQL = PASSIVE_LEVEL y con LAS API de kernel especiales habilitadas**.

Nota

Si la llamada a función ntUnlockFile se produce en modo kernel, debe usar el nombre "ZwUnlockFile" en lugar de "NtUnlockFile".

En el caso de las llamadas desde controladores en modo kernel, las NtXxx y Zwversiones de Xxx de una rutina de Servicios del sistema nativo de Windows pueden comportarse de forma diferente en la forma en que controlan e interpretan los parámetros de entrada. Para obtener más información sobre la relación entre las versiones de NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 7
de la plataforma de destino de Universal
encabezado de ntifs.h (incluya Ntifs.h, FltKernel.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL PASSIVE_LEVEL (consulte la sección Comentarios)
reglas de cumplimiento de DDI HwStorPortProhibitedDIs, PowerIrpDDis

Consulte también

usar versiones Nt y Zw de las rutinas de servicios del sistema nativo

NtLockFile