IopRetryDeviceRemovalForReset
VOID __stdcall IopRetryDeviceRemovalForReset(PVOID Parameter){
__int64 v1;
__int64 v3;
BOOL IsDevNodeEffectivelyRemoved;
int v5;
v1 = *((_QWORD *)Parameter + 23);
if( v1 )
v3 = *(_QWORD *)(*(_QWORD *)(v1 + 312) + 40i64);
else
v3 = 0i64;
PpDevNodeLockTree(0);
IsDevNodeEffectivelyRemoved = PipIsDevNodeEffectivelyRemoved(v3);
PpDevNodeUnlockTree(0);
if( IsDevNodeEffectivelyRemoved )
v5 = -1073741823;
else
v5 = PnpSetTargetDeviceRemove(
*((PVOID *)Parameter + 23),
0,
1,
0,
1,
54,
0,
0i64,
(__int64)IopDeviceRemovalForResetComplete,
(__int64)Parameter,
(__int64)Parameter + 164,
(__int64)Parameter + 192,
(__int64)Parameter + 200,
(__int64)Parameter + 168);
if( v5 < 0 )
IopFreeResetRemovalContext((CHAR *)Parameter);
}Referenced by:
No references.