Partager via


Fonction NtUnlockFile (ntifs.h)

La routine NtUnlockFile déverrouille un verrou de plage d’octets dans un fichier.

Syntaxe

__kernel_entry NTSYSCALLAPI NTSTATUS NtUnlockFile(
  [in]  HANDLE           FileHandle,
  [out] PIO_STATUS_BLOCK IoStatusBlock,
  [in]  PLARGE_INTEGER   ByteOffset,
  [in]  PLARGE_INTEGER   Length,
  [in]  ULONG            Key
);

Paramètres

[in] FileHandle

Handle pour l’objet de fichier qui représente le fichier dont la plage d’octets doit être déverrouillée.

[out] IoStatusBlock

Pointeur vers une structure IO_STATUS_BLOCK qui contient l’état final.

[in] ByteOffset

Pointeur vers une variable qui spécifie le décalage d’octets de départ de la plage d’octets à déverrouiller.

[in] Length

Pointeur vers une variable qui spécifie la longueur, en octets, de la plage d’octets à déverrouiller.

[in] Key

Valeur affectée par l’appelant utilisée pour décrire les groupes de verrous associés. Cette valeur doit être définie sur zéro.

Valeur de retour

La routine NtUnlockFile retourne STATUS_SUCCESS sur la réussite ou une valeur NTSTATUS appropriée. Les valeurs NTSTATUS possibles sont les suivantes :

Retourner le code Description
STATUS_RANGE_NOT_LOCKED La plage d’octets spécifiée n’est pas verrouillée.

Remarques

La routine NtUnlockFile prend une plage d’octets, comme spécifié par les arguments ByteOffset et Length. Cette plage doit être identique à une plage d’octets dans le fichier qui a été précédemment verrouillée avec un seul appel à la routine NtUnlockFile. Il n’est pas possible de déverrouiller deux plages adjacentes précédemment verrouillées avec un seul appel à NtUnlockFile. Il n’est pas également possible de déverrouiller une partie d’une plage précédemment verrouillée avec un seul appel à la routine NtUnlockFile.

Les appelants de NtUnlockFile doivent s’exécuter à IRQL = PASSIVE_LEVEL et avec des API de noyau spéciales activées**.

Note

Si l’appel à la fonction NtUnlockFile se produit en mode noyau, vous devez utiliser le nom «ZwUnlockFile» au lieu de «NtUnlockFile».

Pour les appels à partir de pilotes en mode noyau, les versions NtXxx et ZwXxx d’une routine Windows Native System Services peuvent se comporter différemment de la façon dont elles gèrent et interprètent les paramètres d’entrée. Pour plus d’informations sur la relation entre les versions NtXxx et ZwXxx d’une routine, consultez Using Nt and Zw Versions of the Native System Services Routines.

Exigences

Exigence Valeur
client minimum pris en charge Windows 7
plateforme cible Universel
d’en-tête ntifs.h (include Ntifs.h, FltKernel.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (voir la section Remarques)
règles de conformité DDI HwStorPortProhibitedDDIs, PowerIrpDDis

Voir aussi

à l’aide de versions Nt et Zw des routines natives des services système

NtLockFile