VOID DetachSomeDevFromTargetDriver(PDRIVER_OBJECT pOwnerDrvObject)
{
PDEVICE_OBJECT pDevObj,pNextDev;
if (pOwnerDrvObject)
{
//取第一个设备
pNextDev=pOwnerDrvObject->DeviceObject;
do
{
pDevObj=pNextDev;
while(pDevObj->AttachedDevice)
{
if (IsSomeDevice(pDevObj->AttachedDevice))
{
DbgPrint("Detaching Device:0x%08X\n",pDevObj->AttachedDevice);
IoDetachDevice(pDevObj); }
else
{
pDevObj=pDevObj->AttachedDevice;//若不是,取上一层设备
}
}
pNextDev=pNextDev->NextDevice;
} while(pNextDev);
}
}
No comments:
Post a Comment