mirror of
https://github.com/winfsp/winfsp.git
synced 2025-06-12 23:12:09 -05:00
sys: util: rename FSP_WORK_ITEM_WITH_DELAY to FSP_DELAYED_WORK_ITEM
This commit is contained in:
parent
c7742cf05b
commit
4a33885b01
@ -280,10 +280,10 @@ typedef struct
|
|||||||
KTIMER Timer;
|
KTIMER Timer;
|
||||||
KDPC Dpc;
|
KDPC Dpc;
|
||||||
WORK_QUEUE_ITEM WorkQueueItem;
|
WORK_QUEUE_ITEM WorkQueueItem;
|
||||||
} FSP_WORK_ITEM_WITH_DELAY;
|
} FSP_DELAYED_WORK_ITEM;
|
||||||
VOID FspInitializeWorkItemWithDelay(FSP_WORK_ITEM_WITH_DELAY *WorkItem,
|
VOID FspInitializeDelayedWorkItem(FSP_DELAYED_WORK_ITEM *DelayedWorkItem,
|
||||||
PWORKER_THREAD_ROUTINE Routine, PVOID Context);
|
PWORKER_THREAD_ROUTINE Routine, PVOID Context);
|
||||||
VOID FspQueueWorkItemWithDelay(FSP_WORK_ITEM_WITH_DELAY *WorkItem, LARGE_INTEGER Timeout);
|
VOID FspQueueDelayedWorkItem(FSP_DELAYED_WORK_ITEM *DelayedWorkItem, LARGE_INTEGER Delay);
|
||||||
|
|
||||||
/* IRP context */
|
/* IRP context */
|
||||||
#define FspIrpTimestamp(Irp) \
|
#define FspIrpTimestamp(Irp) \
|
||||||
@ -368,7 +368,7 @@ typedef struct
|
|||||||
PDEVICE_OBJECT FsvrtDeviceObject;
|
PDEVICE_OBJECT FsvrtDeviceObject;
|
||||||
HANDLE MupHandle;
|
HANDLE MupHandle;
|
||||||
PVPB SwapVpb;
|
PVPB SwapVpb;
|
||||||
FSP_WORK_ITEM_WITH_DELAY DeleteVolumeWorkItem;
|
FSP_DELAYED_WORK_ITEM DeleteVolumeDelayedWorkItem;
|
||||||
ERESOURCE DeleteResource;
|
ERESOURCE DeleteResource;
|
||||||
FSP_FSCTL_VOLUME_PARAMS VolumeParams;
|
FSP_FSCTL_VOLUME_PARAMS VolumeParams;
|
||||||
FSP_IOQ Ioq;
|
FSP_IOQ Ioq;
|
||||||
|
@ -7,15 +7,15 @@
|
|||||||
#include <sys/driver.h>
|
#include <sys/driver.h>
|
||||||
|
|
||||||
NTSTATUS FspCreateGuid(GUID *Guid);
|
NTSTATUS FspCreateGuid(GUID *Guid);
|
||||||
VOID FspInitializeWorkItemWithDelay(FSP_WORK_ITEM_WITH_DELAY *WorkItem,
|
VOID FspInitializeDelayedWorkItem(FSP_DELAYED_WORK_ITEM *DelayedWorkItem,
|
||||||
PWORKER_THREAD_ROUTINE Routine, PVOID Context);
|
PWORKER_THREAD_ROUTINE Routine, PVOID Context);
|
||||||
VOID FspQueueWorkItemWithDelay(FSP_WORK_ITEM_WITH_DELAY *WorkItem, LARGE_INTEGER Timeout);
|
VOID FspQueueDelayedWorkItem(FSP_DELAYED_WORK_ITEM *DelayedWorkItem, LARGE_INTEGER Delay);
|
||||||
static KDEFERRED_ROUTINE FspQueueWorkItemWithDelayDPC;
|
static KDEFERRED_ROUTINE FspQueueDelayedWorkItemDPC;
|
||||||
|
|
||||||
#ifdef ALLOC_PRAGMA
|
#ifdef ALLOC_PRAGMA
|
||||||
#pragma alloc_text(PAGE, FspCreateGuid)
|
#pragma alloc_text(PAGE, FspCreateGuid)
|
||||||
#pragma alloc_text(PAGE, FspInitializeWorkItemWithDelay)
|
#pragma alloc_text(PAGE, FspInitializeDelayedWorkItem)
|
||||||
#pragma alloc_text(PAGE, FspQueueWorkItemWithDelay)
|
#pragma alloc_text(PAGE, FspQueueDelayedWorkItem)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
NTSTATUS FspCreateGuid(GUID *Guid)
|
NTSTATUS FspCreateGuid(GUID *Guid)
|
||||||
@ -33,29 +33,29 @@ NTSTATUS FspCreateGuid(GUID *Guid)
|
|||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID FspInitializeWorkItemWithDelay(FSP_WORK_ITEM_WITH_DELAY *WorkItem,
|
VOID FspInitializeDelayedWorkItem(FSP_DELAYED_WORK_ITEM *DelayedWorkItem,
|
||||||
PWORKER_THREAD_ROUTINE Routine, PVOID Context)
|
PWORKER_THREAD_ROUTINE Routine, PVOID Context)
|
||||||
{
|
{
|
||||||
PAGED_CODE();
|
PAGED_CODE();
|
||||||
|
|
||||||
KeInitializeTimer(&WorkItem->Timer);
|
KeInitializeTimer(&DelayedWorkItem->Timer);
|
||||||
KeInitializeDpc(&WorkItem->Dpc, FspQueueWorkItemWithDelayDPC, WorkItem);
|
KeInitializeDpc(&DelayedWorkItem->Dpc, FspQueueDelayedWorkItemDPC, DelayedWorkItem);
|
||||||
ExInitializeWorkItem(&WorkItem->WorkQueueItem, Routine, Context);
|
ExInitializeWorkItem(&DelayedWorkItem->WorkQueueItem, Routine, Context);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID FspQueueWorkItemWithDelay(FSP_WORK_ITEM_WITH_DELAY *WorkItem, LARGE_INTEGER Timeout)
|
VOID FspQueueDelayedWorkItem(FSP_DELAYED_WORK_ITEM *DelayedWorkItem, LARGE_INTEGER Delay)
|
||||||
{
|
{
|
||||||
PAGED_CODE();
|
PAGED_CODE();
|
||||||
|
|
||||||
KeSetTimer(&WorkItem->Timer, Timeout, &WorkItem->Dpc);
|
KeSetTimer(&DelayedWorkItem->Timer, Delay, &DelayedWorkItem->Dpc);
|
||||||
}
|
}
|
||||||
|
|
||||||
static VOID FspQueueWorkItemWithDelayDPC(PKDPC Dpc,
|
static VOID FspQueueDelayedWorkItemDPC(PKDPC Dpc,
|
||||||
PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
|
PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
|
||||||
{
|
{
|
||||||
// !PAGED_CODE();
|
// !PAGED_CODE();
|
||||||
|
|
||||||
FSP_WORK_ITEM_WITH_DELAY *WorkItem = DeferredContext;
|
FSP_DELAYED_WORK_ITEM *DelayedWorkItem = DeferredContext;
|
||||||
|
|
||||||
ExQueueWorkItem(&WorkItem->WorkQueueItem, DelayedWorkQueue);
|
ExQueueWorkItem(&DelayedWorkItem->WorkQueueItem, DelayedWorkQueue);
|
||||||
}
|
}
|
||||||
|
@ -197,7 +197,7 @@ VOID FspVolumeDelete(
|
|||||||
KIRQL Irql;
|
KIRQL Irql;
|
||||||
BOOLEAN DeleteVpb = FALSE;
|
BOOLEAN DeleteVpb = FALSE;
|
||||||
BOOLEAN DeleteDly = FALSE;
|
BOOLEAN DeleteDly = FALSE;
|
||||||
LARGE_INTEGER DelayTimeout;
|
LARGE_INTEGER Delay;
|
||||||
|
|
||||||
/* swap the virtual disk device VPB with the preallocated one */
|
/* swap the virtual disk device VPB with the preallocated one */
|
||||||
#pragma prefast(push)
|
#pragma prefast(push)
|
||||||
@ -241,10 +241,10 @@ VOID FspVolumeDelete(
|
|||||||
{
|
{
|
||||||
/* VPB has extra references; we must do a delayed delete of the volume device */
|
/* VPB has extra references; we must do a delayed delete of the volume device */
|
||||||
FsvolDeviceExtension->SwapVpb = OldVpb;
|
FsvolDeviceExtension->SwapVpb = OldVpb;
|
||||||
DelayTimeout.QuadPart = 300/*ms*/ * -10000;
|
Delay.QuadPart = 300/*ms*/ * -10000;
|
||||||
FspInitializeWorkItemWithDelay(&FsvolDeviceExtension->DeleteVolumeWorkItem,
|
FspInitializeDelayedWorkItem(&FsvolDeviceExtension->DeleteVolumeDelayedWorkItem,
|
||||||
FspVolumeDeleteDelayed, FsvolDeviceObject);
|
FspVolumeDeleteDelayed, FsvolDeviceObject);
|
||||||
FspQueueWorkItemWithDelay(&FsvolDeviceExtension->DeleteVolumeWorkItem, DelayTimeout);
|
FspQueueDelayedWorkItem(&FsvolDeviceExtension->DeleteVolumeDelayedWorkItem, Delay);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (0 != FsvolDeviceExtension->MupHandle)
|
else if (0 != FsvolDeviceExtension->MupHandle)
|
||||||
@ -270,7 +270,7 @@ static VOID FspVolumeDeleteDelayed(PVOID Context)
|
|||||||
FSP_FSVOL_DEVICE_EXTENSION *FsvolDeviceExtension = FspFsvolDeviceExtension(FsvolDeviceObject);
|
FSP_FSVOL_DEVICE_EXTENSION *FsvolDeviceExtension = FspFsvolDeviceExtension(FsvolDeviceObject);
|
||||||
KIRQL Irql;
|
KIRQL Irql;
|
||||||
BOOLEAN DeleteVpb = FALSE;
|
BOOLEAN DeleteVpb = FALSE;
|
||||||
LARGE_INTEGER DelayTimeout;
|
LARGE_INTEGER Delay;
|
||||||
|
|
||||||
IoAcquireVpbSpinLock(&Irql);
|
IoAcquireVpbSpinLock(&Irql);
|
||||||
ASSERT(0 != FsvolDeviceExtension->SwapVpb->ReferenceCount);
|
ASSERT(0 != FsvolDeviceExtension->SwapVpb->ReferenceCount);
|
||||||
@ -286,8 +286,8 @@ static VOID FspVolumeDeleteDelayed(PVOID Context)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DelayTimeout.QuadPart = 300/*ms*/ * -10000;
|
Delay.QuadPart = 300/*ms*/ * -10000;
|
||||||
FspQueueWorkItemWithDelay(&FsvolDeviceExtension->DeleteVolumeWorkItem, DelayTimeout);
|
FspQueueDelayedWorkItem(&FsvolDeviceExtension->DeleteVolumeDelayedWorkItem, Delay);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user