ZwLockFile-Funktion (ntifs.h)
Die ZwLockFile Routine fordert eine Bytebereichssperre für die angegebene Datei an.
Syntax
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
);
Parameter
[in] FileHandle
Ein Handle für die Datei, für die eine Bytebereichssperre angefordert wird.
[in, optional] Event
Ein Handle für ein vom Aufrufer erstelltes Ereignis. Wenn nicht NULL-, wird der Aufrufer in einen Wartezustand versetzt, bis der Vorgang erfolgreich ist, zu dem zeitpunkt, zu dem das Ereignis in den Zustand "Signaled" festgelegt ist.
[in, optional] ApcRoutine
Ein Zeiger auf eine vom Aufrufer bereitgestellte APC-Routine, die nach Abschluss des Vorgangs ausgeführt wird. Kann NULL-sein.
[in, optional] ApcContext
Ein Zeiger auf einen vom Aufrufer angegebenen Kontext für die APC-Routine. Dieser Wert wird bei der Ausführung an die APC-Routine übergeben. Kann NULL-sein.
[out] IoStatusBlock
Ein Zeiger auf eine IO_STATUS_BLOCK Struktur, die den endgültigen Status enthält.
[in] ByteOffset
Ein Zeiger auf eine Variable, die den Anfangsbyte-Offset des zu sperrenden Bereichs angibt.
[in] Length
Ein Zeiger auf eine Variable, die die Länge in Byte des zu sperrenden Bereichs angibt.
[in] Key
Ein vom Aufrufer zugewiesener Wert, der verwendet wird, um Gruppen verwandter Sperren zu beschreiben. Dieser Wert sollte auf Null festgelegt werden.
[in] FailImmediately
Wenn TRUE, wird sofort zurückgegeben, wenn die Datei nicht gesperrt werden kann. Wenn FALSE-, warten Sie, bis die Sperranforderung erteilt wurde.
[in] ExclusiveLock
Wenn TRUE, ist die Bytebereichssperre exklusiv; andernfalls freigegebene Sperre.
Rückgabewert
Die ZwLockFile- Routine gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS-Fehlerwert zurück, z. B. einen der folgenden.
Fehlercode | Beschreibung |
---|---|
STATUS_INSUFFICIENT_RESOURCES | Es sind nicht genügend Ressourcen vorhanden, um die Bytebereichssperre für die angegebene Datei zu gewähren. |
STATUS_LOCK_NOT_GRANTED | Die Bytebereichssperre wurde für die angegebene Datei nicht gewährt. |
Bemerkungen
Aufrufer von ZwLockFile- müssen unter IRQL = PASSIVE_LEVEL und mit speziellen Kernel-APCs ausgeführt werden, dieaktiviert sind.
Anmerkung
Wenn der Aufruf der ZwLockFile--Funktion im Benutzermodus auftritt, sollten Sie den Namen "NtLockFile" anstelle von "ZwLockFile" verwenden.
Bei Aufrufen von Kernelmodustreibern können sich die NtXxx und ZwXxx- Versionen einer Windows Native System Services-Routine anders verhalten, wie sie Eingabeparameter behandeln und interpretieren. Weitere Informationen zur Beziehung zwischen den NtXxx und ZwXxx- Versionen einer Routine finden Sie unter Using Nt and Zw Versions of the Native System Services Routines.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 7 |
Zielplattform- | Universal |
Header- | ntifs.h (einschließlich Ntifs.h, FltKernel.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | PASSIVE_LEVEL (siehe Abschnitt "Hinweise") |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |
Siehe auch
Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienste-Routinen