Fonction ZwUnlockFile (ntifs.h)

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

Syntaxe

NTSYSAPI NTSTATUS ZwUnlockFile(
  [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 ZwUnlockFile retourne STATUS_SUCCESS sur la 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 ZwUnlockFile 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 qui était précédemment verrouillé avec un seul appel à la routine ZwUnlockFile . Il n’est pas possible de déverrouiller deux plages adjacentes précédemment verrouillées avec un seul appel à ZwUnlockFile. 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 ZwUnlockFile .

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

Notes

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

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(storport),PowerIrpDDis(wdm)

Voir aussi

ZwLockFile