FsRtlCheckOplock

NTSTATUS __stdcall FsRtlCheckOplock(
        POPLOCK Oplock,
        PIRP Irp,
        PVOID Context,
        POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine,
        POPLOCK_FS_PREPOST_IRP PostIrpRoutine){
  unsigned int v9; 
  _IO_STACK_LOCATION *CurrentStackLocation; 
  unsigned int Options; 

  v9 = 0;
  FsRtlpOplockStoreKeyForDeleteOperation(Oplock, Irp, 0i64);
  if( !*Oplock && (!Irp || Irp->Tail.CurrentStackLocation->MajorFunction) )
    return 0;
  CurrentStackLocation = Irp->Tail.CurrentStackLocation;
  if( !CurrentStackLocation->MajorFunction )
  {
    Options = CurrentStackLocation->Parameters.Options;
    v9 = (Options >> 8) & 1;
    if( (Options & 0x10000) != 0 )
      v9 |= 0x10000000u;
  }
  return FsRtlCheckOplockEx2(
           Oplock,
           Irp,
           v9,
           0,
           (__int64)Context,
           (__int64)CompletionRoutine,
           (__int64)PostIrpRoutine,
           0i64,
           0i64,
           0i64);
}

Referenced by:

No references.