mirror of
https://github.com/winfsp/winfsp.git
synced 2025-07-03 09:22:57 -05:00
sys: IRP_MJ_CREATE
This commit is contained in:
@ -25,11 +25,7 @@ static NTSTATUS FspFsvolDeviceInit(PDEVICE_OBJECT DeviceObject);
|
||||
static VOID FspFsvolDeviceFini(PDEVICE_OBJECT DeviceObject);
|
||||
static IO_TIMER_ROUTINE FspFsvolDeviceTimerRoutine;
|
||||
static WORKER_THREAD_ROUTINE FspFsvolDeviceExpirationRoutine;
|
||||
_IRQL_raises_(APC_LEVEL)
|
||||
_IRQL_saves_global_(OldIrql, DeviceObject)
|
||||
VOID FspFsvolDeviceLockContextTable(PDEVICE_OBJECT DeviceObject);
|
||||
_IRQL_requires_(APC_LEVEL)
|
||||
_IRQL_restores_global_(OldIrql, DeviceObject)
|
||||
VOID FspFsvolDeviceUnlockContextTable(PDEVICE_OBJECT DeviceObject);
|
||||
PVOID FspFsvolDeviceLookupContext(PDEVICE_OBJECT DeviceObject, UINT64 Identifier);
|
||||
PVOID FspFsvolDeviceInsertContext(PDEVICE_OBJECT DeviceObject, UINT64 Identifier, PVOID Context,
|
||||
@ -295,7 +291,7 @@ static NTSTATUS FspFsvolDeviceInit(PDEVICE_OBJECT DeviceObject)
|
||||
FsvolDeviceExtension->InitDoneIoq = 1;
|
||||
|
||||
/* initialize our generic table */
|
||||
ExInitializeFastMutex(&FsvolDeviceExtension->GenericTableFastMutex);
|
||||
KeInitializeGuardedMutex(&FsvolDeviceExtension->GenericTableMutex);
|
||||
RtlInitializeGenericTableAvl(&FsvolDeviceExtension->GenericTable,
|
||||
FspFsvolDeviceCompareElement, FspFsvolDeviceAllocateElement, FspFsvolDeviceFreeElement, 0);
|
||||
FsvolDeviceExtension->InitDoneGenTab = 1;
|
||||
@ -412,24 +408,20 @@ static VOID FspFsvolDeviceExpirationRoutine(PVOID Context)
|
||||
FspDeviceRelease(DeviceObject);
|
||||
}
|
||||
|
||||
_IRQL_raises_(APC_LEVEL)
|
||||
_IRQL_saves_global_(OldIrql, DeviceObject)
|
||||
VOID FspFsvolDeviceLockContextTable(PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
FSP_FSVOL_DEVICE_EXTENSION *FsvolDeviceExtension = FspFsvolDeviceExtension(DeviceObject);
|
||||
ExAcquireFastMutex(&FsvolDeviceExtension->GenericTableFastMutex);
|
||||
KeAcquireGuardedMutex(&FsvolDeviceExtension->GenericTableMutex);
|
||||
}
|
||||
|
||||
_IRQL_requires_(APC_LEVEL)
|
||||
_IRQL_restores_global_(OldIrql, DeviceObject)
|
||||
VOID FspFsvolDeviceUnlockContextTable(PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
FSP_FSVOL_DEVICE_EXTENSION *FsvolDeviceExtension = FspFsvolDeviceExtension(DeviceObject);
|
||||
ExReleaseFastMutex(&FsvolDeviceExtension->GenericTableFastMutex);
|
||||
KeReleaseGuardedMutex(&FsvolDeviceExtension->GenericTableMutex);
|
||||
}
|
||||
|
||||
PVOID FspFsvolDeviceLookupContext(PDEVICE_OBJECT DeviceObject, UINT64 Identifier)
|
||||
|
Reference in New Issue
Block a user