NtUnlockFile-Funktion (ntifs.h)

Die NtUnlockFile-Routine entsperrt eine Bytebereichssperre in einer Datei.

Syntax

__kernel_entry NTSYSCALLAPI NTSTATUS NtUnlockFile(
  [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 verwendet wird, um Gruppen verwandter Sperren zu beschreiben. Dieser Wert sollte auf 0 festgelegt werden.

Rückgabewert

Die NtUnlockFile-Routine gibt bei Erfolg STATUS_SUCCESS oder einen entsprechenden NTSTATUS-Wert zurück. Mögliche NTSTATUS-Werte sind:

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

Hinweise

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

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

Hinweis

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

Bei Aufrufen von Kernelmodustreibern können sich die NtXxx - und ZwXxx-Versionen einer Windows Native System Services-Routine anders verhalten, da 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 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, PowerIrpDDis

Weitere Informationen

Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen

NtLockFile