FSCTL_OPBATCH_ACK_CLOSE_PENDING Steuerungscode
Der FSCTL_OPBATCH_ACK_CLOSE_PENDING-Kontrollcode reagiert auf eine Benachrichtigung, dass eine exklusive (Ebene 1, Batch oder Filter) opportunistische Sperre (Oplock) für eine Datei unterbrochen wurde. Eine Clientanwendung sendet diesen Steuerelementcode, um anzugeben, dass sie den Oplock-Umbruch bestätigt und das Dateihandle geschlossen wird.
Bei einem Batch- oder Filter-Oplock-Umbruch muss der Aufrufer sein Dateihandle schließen, nachdem er diesen Steuerungscode gesendet hat. Andernfalls blockiert das System das Warten auf das Schließen des Dateihandles.
Dieser Steuerelementcode ist nicht für die Verwendung mit Oplocks der Ebene 1 vorgesehen. Dennoch behandelt das System für einen Oplock-Umbruch der Ebene 1 diesen Steuerungscode als vollständige Bestätigung des Umbruchs, und der Aufrufer muss das Dateihandle nicht schließen.
Dieser Steuerelementcode wird selten verwendet. Wenn eine Clientanwendung über einen Oplock-Umbruch für eine Datei benachrichtigt wird und ihr Handle für die Datei geschlossen wird, behandelt das System das Dateihandle close als vollständige Bestätigung des Oplock-Umbruchs. Daher ist es nie erforderlich, diesen Steuerungscode zu senden.
Um diesen Steuerelementcode zu verarbeiten, ruft ein Minifilter FltOplockFsctrl mit den folgenden Parametern auf. Ein Dateisystem oder Legacyfiltertreiber ruft FsRtlOplockFsctrl auf.
Weitere Informationen zum opportunistischen Sperren und zum FSCTL_OPBATCH_ACK_CLOSE_PENDING-Steuerelementcode finden Sie in der Microsoft Windows SDK-Dokumentation.
Parameter
Oplock: Undurchsichtiger Oplock-Objektzeiger für die Datei.
CallbackData: Nur FltOplockFsctrl . Rückrufdatenstruktur (FLT_CALLBACK_DATA) für eine IRP_MJ_FILE_SYSTEM_CONTROL FSCTL-Anforderung. Der FsControlCode-Parameter für den Vorgang muss FSCTL_OPBATCH_ACK_CLOSE_PENDING sein.
Irp: Nur FsRtlOplockFsctrl . IRP für eine IRP_MJ_FILE_SYSTEM_CONTROL FSCTL-Anforderung. Der FsControlCode-Parameter für den Vorgang muss FSCTL_OPBATCH_ACK_CLOSE_PENDING sein.
OpenCount: Wird bei diesem Vorgang nicht verwendet; auf 0 festgelegt.
Statusblock
FltOplockFsctrl gibt für diesen Vorgang immer FLT_PREOP_COMPLETE zurück.
FsRtlOplockFsctrl gibt einen der folgenden NTSTATUS-Werte für diesen Vorgang zurück:
Code | Bedeutung |
---|---|
STATUS_SUCCESS | Der oplock, der von diesem Handle gehalten wurde, wurde gerade unterbrochen. |
STATUS_INVALID_OPLOCK_PROTOCOL | Dieser Handle hat keinen Oplock gehalten, oder der Oplock-Umbruch wird derzeit nicht ausgeführt. Dies ist ein Fehlercode. |
Anforderungen
Anforderungstyp | Anforderung |
---|---|
Header | Ntifs.h (einschließlich Ntifs.h oder Fltkernel.h) |
Weitere Informationen
FLT_PARAMETERS für IRP_MJ_FILE_SYSTEM_CONTROL