ZwLockFile, fonction (ntifs.h)
La routine ZwLockFile demande un verrou de plage d’octets pour le fichier spécifié.
Syntaxe
NTSYSAPI NTSTATUS ZwLockFile(
[in] HANDLE FileHandle,
[in, optional] HANDLE Event,
[in, optional] PIO_APC_ROUTINE ApcRoutine,
[in, optional] PVOID ApcContext,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[in] PLARGE_INTEGER ByteOffset,
[in] PLARGE_INTEGER Length,
[in] ULONG Key,
[in] BOOLEAN FailImmediately,
[in] BOOLEAN ExclusiveLock
);
Paramètres
[in] FileHandle
Handle pour le fichier sur lequel un verrou de plage d’octets est demandé.
[in, optional] Event
Handle d’un événement créé par l’appelant. Si ce n’est pas le cas null, l’appelant est placé dans un état d’attente jusqu’à ce que l’opération réussisse, à quel moment l’événement est défini dans l’état Signaled.
[in, optional] ApcRoutine
Pointeur vers une routine APC fournie par l’appelant qui est exécutée une fois l’opération terminée. Peut être NULL .
[in, optional] ApcContext
Pointeur vers un contexte spécifié par l’appelant pour la routine APC. Cette valeur est transmise à la routine APC lorsqu’elle est exécutée. Peut être NULL .
[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’octet de départ de la plage à verrouiller.
[in] Length
Pointeur vers une variable qui spécifie la longueur en octets de la plage à 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.
[in] FailImmediately
Si TRUE, retournez immédiatement si le fichier ne peut pas être verrouillé. Si FALSE, attendez que la demande de verrouillage soit accordée.
[in] ExclusiveLock
Si TRUE, le verrou de plage d’octets est exclusif ; sinon, verrou partagé.
Valeur de retour
La routine ZwLockFile retourne STATUS_SUCCESS ou une valeur NTSTATUS d’erreur appropriée, telle que l’une des suivantes.
Code d’erreur | Description |
---|---|
STATUS_INSUFFICIENT_RESOURCES | Des ressources insuffisantes existent pour accorder le verrou de plage d’octets pour le fichier spécifié. |
STATUS_LOCK_NOT_GRANTED | Le verrou de plage d’octets n’a pas été accordé pour le fichier spécifié. |
Remarques
Les appelants de ZwLockFile doivent s’exécuter à IRQL = PASSIVE_LEVEL et avec des API de noyau spéciales activées.
Note
Si l’appel à la fonction ZwLockFile se produit en mode utilisateur, vous devez utiliser le nom «NtLockFile» au lieu de «ZwLockFile».
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(storport), PowerIrpDDis(wdm) |
Voir aussi
à l’aide de versions Nt et Zw des routines natives des services système