IoFreeController
VOID __stdcall IoFreeController(_CONTROLLER_OBJECT *ControllerObject){
_KDEVICE_QUEUE *p_DeviceWaitQueue;
_KDEVICE_QUEUE_ENTRY *v2;
p_DeviceWaitQueue = &ControllerObject->DeviceWaitQueue;
do
v2 = KeRemoveDeviceQueue(p_DeviceWaitQueue);
while( v2
&& ((unsigned __int64(__fastcall *)(unsigned int *, _LIST_ENTRY *, _QWORD, _LIST_ENTRY *))v2[1].DeviceListEntry.Flink)(
&v2[-4].SortKey,
v2[-2].DeviceListEntry.Flink,
0i64,
v2[1].DeviceListEntry.Blink) == 2 );
}Referenced by:
IoAllocateController