IopResurrectDriver
NTSTATUS __stdcall IopResurrectDriver(DRIVER_OBJECT *DriverObject){
_DEVICE_OBJECT *DeviceObject;
KIRQL v3;
DeviceObject = DriverObject->DeviceObject;
v3 = KeAcquireQueuedSpinLock(0xAui64);
if( (DriverObject->Flags & 1) == 0 && DeviceObject && (*(_DWORD *)(*((_QWORD *)DeviceObject + 39) + 32i64) & 1) != 0 )
{
do
{
*(_DWORD *)(*((_QWORD *)DeviceObject + 39) + 32i64) &= ~1u;
DeviceObject = (_DEVICE_OBJECT *)*((_QWORD *)DeviceObject + 2);
}
while( DeviceObject );
KeReleaseQueuedSpinLock(0xAui64, v3);
return 0;
}
else
{
KeReleaseQueuedSpinLock(0xAui64, v3);
return -1073741554;
}
}Referenced by:
IopLoadDriver