Freigeben über


ZwUnlockFile-Funktion (ntifs.h)

Die ZwUnlockFile-Routine entsperrt eine Bytebereichssperre in einer Datei.

Syntax

NTSYSAPI NTSTATUS ZwUnlockFile(
  [in]  HANDLE           FileHandle,
  [out] PIO_STATUS_BLOCK IoStatusBlock,
  [in]  PLARGE_INTEGER   ByteOffset,
  [in]  PLARGE_INTEGER   Length,
  [in]  ULONG            Key
);

Parameter

[in] FileHandle

Ein Handle für das Dateiobjekt, das die Datei darstellt, deren Bytebereich entsperrt werden soll.

[out] IoStatusBlock

Ein Zeiger auf eine IO_STATUS_BLOCK-Struktur, die die endgültige status enthält.

[in] ByteOffset

Ein Zeiger auf eine Variable, der den Anfangsbyteoffset für den zu entsperrenden Bytebereich angibt.

[in] Length

Ein Zeiger auf eine Variable, die die Länge des zu entsperrenden Bytebereichs in Bytes angibt.

[in] Key

Der vom Aufrufer zugewiesene Wert, der zum Beschreiben von Gruppen verwandter Sperren verwendet wird. Dieser Wert sollte auf 0 (null) festgelegt werden.

Rückgabewert

Die ZwUnlockFile-Routine gibt STATUS_SUCCESS nach Erfolg oder einen geeigneten NTSTATUS-Wert zurück. Mögliche NTSTATUS-Werte sind:

Rückgabecode Beschreibung
STATUS_RANGE_NOT_LOCKED Der angegebene Bytebereich ist nicht gesperrt.

Hinweise

Die ZwUnlockFile-Routine akzeptiert einen Bytebereich, wie durch die Argumente ByteOffset und Length angegeben. Dieser Bereich muss mit einem Bytebereich in der Datei identisch sein, der zuvor mit einem einzelnen Aufruf der ZwUnlockFile-Routine gesperrt wurde. Es ist nicht möglich, zwei zuvor gesperrte angrenzende Bereiche mit einem einzigen Aufruf von ZwUnlockFile zu entsperren. Es ist auch nicht möglich, einen Teil eines Bereichs zu entsperren, der zuvor mit einem einzelnen Aufruf der ZwUnlockFile-Routine gesperrt wurde.

Aufrufer von ZwUnlockFile müssen unter IRQL = PASSIVE_LEVEL und mit aktivierten speziellen Kernel-APCs ausgeführt werden**.

Hinweis

Wenn der Aufruf der ZwUnlockFile-Funktion im Benutzermodus erfolgt, sollten Sie den Namen "NtUnlockFile" anstelle von "ZwUnlockFile" verwenden.

Bei Aufrufen von Kernelmodustreibern können sich die NtXxx - und ZwXxx-Versionen einer Windows Native System Services-Routine anders verhalten, wie sie Eingabeparameter verarbeiten und interpretieren. Weitere Informationen zur Beziehung zwischen den Nt Xxx- und ZwXxx-Versionen einer Routine finden Sie unter Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienstroutinen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7
Zielplattform Universell
Header ntifs.h (include Ntifs.h, FltKernel.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (siehe Abschnitt "Hinweise")
DDI-Complianceregeln HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Weitere Informationen

ZwLockFile