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