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 le status final.

[in] ByteOffset

Pointeur vers une variable qui spécifie le décalage d’octet de début pour 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 retournée

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

Code de retour 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 spécifiée par les arguments ByteOffset et Length . Cette plage doit être identique à une plage d’octets dans le fichier précédemment verrouillé 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 non plus possible de déverrouiller une partie d’une plage qui était précédemment verrouillée avec un seul appel à la routine NtUnlockFile .

Les appelants de NtUnlockFile doivent être en cours d’exécution à IRQL = PASSIVE_LEVEL et avec des API de noyau spéciales activées**.

Notes

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 dans 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 Utilisation des versions Nt et Zw des routines des services système natifs.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7
Plateforme cible Universal
En-tête ntifs.h (inclure 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

Utilisation des versions Nt et Zw des routines natives des services système natifs

NtLockFile