Freigeben über


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

ZwUnlockFile-