Función NtUnlockFile (ntifs.h)
La rutina 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 de bytes inicial 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 si se ejecuta correctamente 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. |
Comentarios
La rutina NtUnlockFile toma un intervalo de bytes según lo especificado por los argumentos 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 NtUnlockFile . No es posible desbloquear dos intervalos adyacentes bloqueados previamente con una sola llamada a NtUnlockFile. Tampoco es posible desbloquear parte de un intervalo que se bloqueó anteriormente con una sola llamada a la rutina 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 la 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 versiones NtXxx y ZwXxx de una rutina de Windows Native System Services 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 NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 |
Plataforma de destino | Universal |
Encabezado | ntifs.h (incluya Ntifs.h, FltKernel.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (consulte la sección Comentarios) |
Reglas de cumplimiento de DDI | HwStorPortProhibitedDIs, PowerIrpDDis |
Consulte también
Uso de las versiones Nt y Zw de las rutinas nativas de System Services