[NTOS:PNP] Rename IopDeviceRelations* to IopDeviceAction*. CORE-10456

This commit is contained in:
Thomas Faber 2017-12-17 22:53:01 +01:00
parent bc826532e3
commit 121146e651
No known key found for this signature in database
GPG key ID: 076E7C3D44720826
3 changed files with 31 additions and 31 deletions

View file

@ -1339,8 +1339,8 @@ extern ULONG IopNumTriageDumpDataBlocks;
extern PVOID IopTriageDumpDataBlocks[64]; extern PVOID IopTriageDumpDataBlocks[64];
extern PIO_BUS_TYPE_GUID_LIST PnpBusTypeGuidList; extern PIO_BUS_TYPE_GUID_LIST PnpBusTypeGuidList;
extern PDRIVER_OBJECT IopRootDriverObject; extern PDRIVER_OBJECT IopRootDriverObject;
extern KSPIN_LOCK IopDeviceRelationsSpinLock; extern KSPIN_LOCK IopDeviceActionLock;
extern LIST_ENTRY IopDeviceRelationsRequestList; extern LIST_ENTRY IopDeviceActionRequestList;
extern RESERVE_IRP_ALLOCATOR IopReserveIrpAllocator; extern RESERVE_IRP_ALLOCATOR IopReserveIrpAllocator;
// //

View file

@ -399,8 +399,8 @@ IopInitializePlugPlayServices(VOID)
/* Initialize locks and such */ /* Initialize locks and such */
KeInitializeSpinLock(&IopDeviceTreeLock); KeInitializeSpinLock(&IopDeviceTreeLock);
KeInitializeSpinLock(&IopDeviceRelationsSpinLock); KeInitializeSpinLock(&IopDeviceActionLock);
InitializeListHead(&IopDeviceRelationsRequestList); InitializeListHead(&IopDeviceActionRequestList);
/* Get the default interface */ /* Get the default interface */
PnpDefaultInterfaceType = IopDetermineDefaultInterfaceType(); PnpDefaultInterfaceType = IopDetermineDefaultInterfaceType();

View file

@ -34,17 +34,17 @@ extern BOOLEAN PnpSystemInit;
PDRIVER_OBJECT IopRootDriverObject; PDRIVER_OBJECT IopRootDriverObject;
PIO_BUS_TYPE_GUID_LIST PnpBusTypeGuidList = NULL; PIO_BUS_TYPE_GUID_LIST PnpBusTypeGuidList = NULL;
LIST_ENTRY IopDeviceRelationsRequestList; LIST_ENTRY IopDeviceActionRequestList;
WORK_QUEUE_ITEM IopDeviceRelationsWorkItem; WORK_QUEUE_ITEM IopDeviceActionWorkItem;
BOOLEAN IopDeviceRelationsRequestInProgress; BOOLEAN IopDeviceActionInProgress;
KSPIN_LOCK IopDeviceRelationsSpinLock; KSPIN_LOCK IopDeviceActionLock;
typedef struct _INVALIDATE_DEVICE_RELATION_DATA typedef struct _DEVICE_ACTION_DATA
{ {
LIST_ENTRY RequestListEntry; LIST_ENTRY RequestListEntry;
PDEVICE_OBJECT DeviceObject; PDEVICE_OBJECT DeviceObject;
DEVICE_RELATION_TYPE Type; DEVICE_RELATION_TYPE Type;
} INVALIDATE_DEVICE_RELATION_DATA, *PINVALIDATE_DEVICE_RELATION_DATA; } DEVICE_ACTION_DATA, *PDEVICE_ACTION_DATA;
/* FUNCTIONS *****************************************************************/ /* FUNCTIONS *****************************************************************/
NTSTATUS NTSTATUS
@ -906,20 +906,20 @@ IopQueryDeviceCapabilities(PDEVICE_NODE DeviceNode,
static static
VOID VOID
NTAPI NTAPI
IopDeviceRelationsWorker( IopDeviceActionWorker(
_In_ PVOID Context) _In_ PVOID Context)
{ {
PLIST_ENTRY ListEntry; PLIST_ENTRY ListEntry;
PINVALIDATE_DEVICE_RELATION_DATA Data; PDEVICE_ACTION_DATA Data;
KIRQL OldIrql; KIRQL OldIrql;
KeAcquireSpinLock(&IopDeviceRelationsSpinLock, &OldIrql); KeAcquireSpinLock(&IopDeviceActionLock, &OldIrql);
while (!IsListEmpty(&IopDeviceRelationsRequestList)) while (!IsListEmpty(&IopDeviceActionRequestList))
{ {
ListEntry = RemoveHeadList(&IopDeviceRelationsRequestList); ListEntry = RemoveHeadList(&IopDeviceActionRequestList);
KeReleaseSpinLock(&IopDeviceRelationsSpinLock, OldIrql); KeReleaseSpinLock(&IopDeviceActionLock, OldIrql);
Data = CONTAINING_RECORD(ListEntry, Data = CONTAINING_RECORD(ListEntry,
INVALIDATE_DEVICE_RELATION_DATA, DEVICE_ACTION_DATA,
RequestListEntry); RequestListEntry);
IoSynchronousInvalidateDeviceRelations(Data->DeviceObject, IoSynchronousInvalidateDeviceRelations(Data->DeviceObject,
@ -927,10 +927,10 @@ IopDeviceRelationsWorker(
ObDereferenceObject(Data->DeviceObject); ObDereferenceObject(Data->DeviceObject);
ExFreePool(Data); ExFreePool(Data);
KeAcquireSpinLock(&IopDeviceRelationsSpinLock, &OldIrql); KeAcquireSpinLock(&IopDeviceActionLock, &OldIrql);
} }
IopDeviceRelationsRequestInProgress = FALSE; IopDeviceActionInProgress = FALSE;
KeReleaseSpinLock(&IopDeviceRelationsSpinLock, OldIrql); KeReleaseSpinLock(&IopDeviceActionLock, OldIrql);
} }
NTSTATUS NTSTATUS
@ -4889,10 +4889,10 @@ IoInvalidateDeviceRelations(
IN PDEVICE_OBJECT DeviceObject, IN PDEVICE_OBJECT DeviceObject,
IN DEVICE_RELATION_TYPE Type) IN DEVICE_RELATION_TYPE Type)
{ {
PINVALIDATE_DEVICE_RELATION_DATA Data; PDEVICE_ACTION_DATA Data;
KIRQL OldIrql; KIRQL OldIrql;
Data = ExAllocatePool(NonPagedPool, sizeof(INVALIDATE_DEVICE_RELATION_DATA)); Data = ExAllocatePool(NonPagedPool, sizeof(DEVICE_ACTION_DATA));
if (!Data) if (!Data)
return; return;
@ -4900,20 +4900,20 @@ IoInvalidateDeviceRelations(
Data->DeviceObject = DeviceObject; Data->DeviceObject = DeviceObject;
Data->Type = Type; Data->Type = Type;
KeAcquireSpinLock(&IopDeviceRelationsSpinLock, &OldIrql); KeAcquireSpinLock(&IopDeviceActionLock, &OldIrql);
InsertTailList(&IopDeviceRelationsRequestList, &Data->RequestListEntry); InsertTailList(&IopDeviceActionRequestList, &Data->RequestListEntry);
if (IopDeviceRelationsRequestInProgress) if (IopDeviceActionInProgress)
{ {
KeReleaseSpinLock(&IopDeviceRelationsSpinLock, OldIrql); KeReleaseSpinLock(&IopDeviceActionLock, OldIrql);
return; return;
} }
IopDeviceRelationsRequestInProgress = TRUE; IopDeviceActionInProgress = TRUE;
KeReleaseSpinLock(&IopDeviceRelationsSpinLock, OldIrql); KeReleaseSpinLock(&IopDeviceActionLock, OldIrql);
ExInitializeWorkItem(&IopDeviceRelationsWorkItem, ExInitializeWorkItem(&IopDeviceActionWorkItem,
IopDeviceRelationsWorker, IopDeviceActionWorker,
NULL); NULL);
ExQueueWorkItem(&IopDeviceRelationsWorkItem, ExQueueWorkItem(&IopDeviceActionWorkItem,
DelayedWorkQueue); DelayedWorkQueue);
} }