mirror of
				https://github.com/winfsp/winfsp.git
				synced 2025-10-30 19:48:38 -05:00 
			
		
		
		
	sys: FSP_MJ_ENTER: top level irp functionality
This commit is contained in:
		| @@ -131,11 +131,17 @@ extern __declspec(selectany) int fsp_bp = 1; | |||||||
|     {                                   \ |     {                                   \ | ||||||
|         if (0 != fsp_top_level_irp)     \ |         if (0 != fsp_top_level_irp)     \ | ||||||
|         {                               \ |         {                               \ | ||||||
|             if (FSRTL_MAX_TOP_LEVEL_IRP_FLAG < (UINT_PTR)fsp_top_level_irp &&\ |             if (FSRTL_MAX_TOP_LEVEL_IRP_FLAG >= (UINT_PTR)fsp_top_level_irp)\ | ||||||
|                 IO_TYPE_IRP == fsp_top_level_irp->Type)\ |  | ||||||
|                 FspIrpSetTopFlags(Irp, FspIrpFlags(fsp_top_level_irp));\ |  | ||||||
|             else                        \ |  | ||||||
|                 FspIrpSetTopFlags(Irp, FspFileNodeAcquireFull);\ |                 FspIrpSetTopFlags(Irp, FspFileNodeAcquireFull);\ | ||||||
|  |             else if (IO_TYPE_IRP == fsp_top_level_irp->Type &&\ | ||||||
|  |                 0 != IrpSp->FileObject && FspFileNodeIsValid(IrpSp->FileObject->FsContext))\ | ||||||
|  |             {                           \ | ||||||
|  |                 PIO_STACK_LOCATION fsp_top_level_irpsp =\ | ||||||
|  |                     IoGetCurrentIrpStackLocation(fsp_top_level_irp);\ | ||||||
|  |                 if (0 != fsp_top_level_irpsp->FileObject &&\ | ||||||
|  |                     IrpSp->FileObject->FsContext == fsp_top_level_irpsp->FileObject->FsContext)\ | ||||||
|  |                     FspIrpSetTopFlags(Irp, FspIrpFlags(fsp_top_level_irp));\ | ||||||
|  |             }                           \ | ||||||
|         }                               \ |         }                               \ | ||||||
|         IoSetTopLevelIrp(Irp);          \ |         IoSetTopLevelIrp(Irp);          \ | ||||||
|         if (!FspDeviceReference(IrpSp->DeviceObject))\ |         if (!FspDeviceReference(IrpSp->DeviceObject))\ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user