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 |