Skip to content

Latest commit

 

History

History
193 lines (126 loc) · 5.76 KB

nf-fltkernel-fltoplockbreaktonone.md

File metadata and controls

193 lines (126 loc) · 5.76 KB
UID title description old-location tech.root ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames f1_keywords topic_type api_type api_location api_name
NF:fltkernel.FltOplockBreakToNone
FltOplockBreakToNone function (fltkernel.h)
The FltOplockBreakToNone routine breaks all opportunistic locks (oplocks) immediately without regard for any oplock key.
ifsk\fltoplockbreaktonone.htm
ifsk
04/16/2018
FltOplockBreakToNone function
FltApiRef_e_to_o_7d787a5c-c78b-43d2-aa48-412010c97630.xml, FltOplockBreakToNone, FltOplockBreakToNone routine [Installable File System Drivers], fltkernel/FltOplockBreakToNone, ifsk.fltoplockbreaktonone
fltkernel.h
Fltkernel.h
Universal
The FltOplockBreakToNone routine is available starting with Windows 7.
FltMgr.lib
Fltmgr.sys
<= APC_LEVEL
Windows
FltOplockBreakToNone
fltkernel/FltOplockBreakToNone
APIRef
kbSyntax
DllExport
fltmgr.sys
FltOplockBreakToNone

FltOplockBreakToNone function

-description

The FltOplockBreakToNone routine breaks all opportunistic locks (oplocks) immediately without regard for any oplock key.

-parameters

-param Oplock [in]

An opaque oplock pointer for the file. This pointer must have been initialized by a previous call to FltInitializeOplock.

-param CallbackData [in]

A pointer to the callback data (FLT_CALLBACK_DATA) structure for the I/O operation.

-param Context [in, optional]

A pointer to caller-defined context information to be passed to the callback routines that the WaitCompletionRoutine and PrePostCallbackDataRoutine parameters point to.

-param WaitCompletionRoutine [in, optional]

A pointer to a caller-supplied callback routine. If an oplock break is in progress, this routine is called when the break is completed. This parameter is optional and can be NULL. If it is NULL, the caller is put into a wait state until the oplock break is completed.

This routine is declared as follows:

typedef VOID
(*PFLTOPLOCK_WAIT_COMPLETE_ROUTINE) (
    __in PFLT_CALLBACK_DATA CallbackData,
 __in_opt PVOID Context
      );

This routine has the following parameters:

CallbackData

A pointer to the callback data structure for the I/O operation.

Context

A context information pointer that was passed in the Context parameter to FltOplockBreakToNone.

-param PrePostCallbackDataRoutine [in, optional]

A pointer to a caller-supplied callback routine to be called if the I/O operation is to be pended. The routine is called before the oplock package pends the IRP. This parameter is optional and can be NULL.

This routine is declared as follows:

typedef VOID
(*PFLTOPLOCK_PREPOST_CALLBACKDATA_ROUTINE) (
    __in PFLT_CALLBACK_DATA CallbackData,
 __in_opt PVOID Context
      );

This routine has the following parameters:

CallbackData

A pointer to the callback data structure for the I/O operation.

Context

A context information pointer that was passed in the Context parameter to FltOplockBreakToNone.

-returns

FltOplockBreakToNone returns one of the following FLT_PREOP_CALLBACK_STATUS codes:

Return code Description
FLT_PREOP_COMPLETE
FltOplockBreakToNone encountered a pool allocation failure, or a call to the FsRtlOplockBreakToNoneEx function returned an error. FltOplockBreakToNone will set the error code in the Status member of the IO_STATUS_BLOCK structure of the IoStatus member. The IO_STATUS_BLOCK structure is specified in the IoStatus member of the FLT_CALLBACK_DATA callback data structure. The CallbackData parameter points to this FLT_CALLBACK_DATA.
FLT_PREOP_PENDING
An oplock break was initiated, which caused the Filter Manager to post the I/O operation to a work queue. The I/O operation is represented by the callback data that the CallbackData parameter points to.
FLT_PREOP_SUCCESS_WITH_CALLBACK
The callback data that the CallbackData parameter points to was not pended, and the I/O operation was performed immediately.

-remarks

For more information about opportunistic locks, see the Microsoft Windows SDK documentation.

-see-also

FLT_CALLBACK_DATA

FltInitializeOplock

FsRtlOplockBreakToNoneEx

IO_STATUS_BLOCK