照着用就行:8个降AI率平台测评对比,专科生必看!
ACPI!ACPIDetectPdoDevices函数下半部分搜集关联信息0: kd dv newRelationSizenewRelationSize 5PCI0ACADCP00CP01ACPI\FixedButton//// Determine the size of the new relations. Use index as a// scratch buffer//index sizeof(DEVICE_RELATIONS) ( sizeof(PDEVICE_OBJECT) * (newRelationSize -
);//// Allocate the new device relation buffer. Use nonpaged pool since we// are at dispatch//newRelations ExAllocatePoolWithTag(NonPagedPool,index,ACPI_DEVICE_POOLTAG);if (newRelations NULL) {//// Return failure//return STATUS_INSUFFICIENT_RESOURCES;}//// Initialize DeviceRelations data structure//RtlZeroMemory( newRelations, index );#define DEV_TYPE_NEVER_PRESENT 0x0000000000000001#define DEV_TYPE_NOT_PRESENT 0x0000000000000002#define DEV_TYPE_REMOVED 0x0000000000000004#define DEV_TYPE_NOT_FOUND 0x0000000000000008#define DEV_TYPE_FDO 0x0000000000000010#define DEV_TYPE_PDO 0x0000000000000020#define DEV_TYPE_FILTER 0x0000000000000040#define DEV_TYPE_SURPRISE_REMOVED 0x0000000000000080#define DEV_TYPE_NOT_ENUMERATED 0x0000000000000100#define DEV_TYPE_PDO 0x0000000000000020#define DEV_TYPE_NOT_PRESENT 0x0000000000000002//// Loop until we get back to the parent//while (deviceExtension ! NULL) {//// The only objects that we care about are those that are marked as// PDOs and have a phsyical object associated with them//if (deviceExtension-Flags DEV_TYPE_PDO deviceExtension-DeviceObject ! NULL !(deviceExtension-Flags DEV_MASK_NOT_PRESENT) ) {//// We dont ObReferenceO here because we are still at// dispatch level (and for efficiencys sake, we dont// want to drop down)//newRelations-Objects[index] deviceExtension-DeviceObject;0: kd dt DEVICE_RELATIONS 899875a0nt!DEVICE_RELATIONS0x000 Count : 00x004 Objects : [1] 0x899050e8 _DEVICE_OBJECT0: kd dx -id 0,0,899a2278 -r1 (*((ntkrnlmp!_DEVICE_OBJECT * (*)[1])0x899875a
)(*((ntkrnlmp!_DEVICE_OBJECT * (*)[1])0x899875a
) [Type: _DEVICE_OBJECT * [1]][0] : 0x899050e8 : Device for \Driver\ACPI [Type: _DEVICE_OBJECT *]0: kd dd 899875a0899875a0 00000000 899050e8 00000000 00000000899875b0 00000000 00000000 02050004 46706341899875c0 89987568 8997706c 00000000 00000001899875d0 00000001 f740d62c 89907c70 899771c4899875e0 00180005 46706341 80bf6229 80bf6229899875f0 020b0002 50706341 8957e130 8990028089987600 8993eb28 8993eb28 5f534750 8993ea2889987610 02120006 46706341 898a8188 899612680: kd reax02010020 ebxf743b620 ecx00402000 edx00402000 esi899c0d58 edi899875a0eipf7400533 espf789a220 ebpf789a250 iopl0 nv up ei pl zr na pe nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000246ACPI!ACPIDetectPdoDevices0x355:f7400533 8b45f4 mov eax,dword ptr [ebp-0Ch] ss:0010:f789a24400000001//// Check to see if we have found all the objects that we care// about. As in, dont mess the system by walking past the end// of the device relations//if (newRelationSize index) { //下断点//// Done//break;}0: kd bp f74005330: kd gBreakpoint 87 hiteax00000000 ebxf743b620 ecx2000010a edx00000000 esi899ae008 edi899875a0eipf7400533 espf789a220 ebpf789a250 iopl0 nv up ei pl zr na pe nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000246ACPI!ACPIDetectPdoDevices0x355:f7400533 8b45f4 mov eax,dword ptr [ebp-0Ch] ss:0010:f789a244000000010: kd dd 899875a0899875a0 00000000 899050e8 00000000 00000000899875b0 00000000 00000000 02050004 46706341899875c0 89987568 8997706c 00000000 00000001899875d0 00000001 f740d62c 89907c70 899771c4899875e0 00180005 46706341 80bf6229 80bf6229899875f0 020b0002 50706341 8957e130 8990028089987600 8993eb28 8993eb28 5f534750 8993ea2889987610 02120006 46706341 898a8188 899612680: kd gBreakpoint 87 hiteax00000000 ebxf743b620 ecx2000010a edx00000000 esi899aee58 edi899875a0eipf7400533 espf789a220 ebpf789a250 iopl0 nv up ei pl zr na pe nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000246ACPI!ACPIDetectPdoDevices0x355:f7400533 8b45f4 mov eax,dword ptr [ebp-0Ch] ss:0010:f789a244000000010: kd dd 899875a0899875a0 00000000 899050e8 00000000 00000000899875b0 00000000 00000000 02050004 46706341899875c0 89987568 8997706c 00000000 00000001899875d0 00000001 f740d62c 89907c70 899771c4899875e0 00180005 46706341 80bf6229 80bf6229899875f0 020b0002 50706341 8957e130 8990028089987600 8993eb28 8993eb28 5f534750 8993ea2889987610 02120006 46706341 898a8188 899612680: kd gBreakpoint 87 hiteax00000020 ebxf743b620 ecx00406000 edx00406000 esi899aec58 edi899875a0eipf7400533 espf789a220 ebpf789a250 iopl0 nv up ei pl zr na pe nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000246ACPI!ACPIDetectPdoDevices0x355:f7400533 8b45f4 mov eax,dword ptr [ebp-0Ch] ss:0010:f789a244000000020: kd dd 899875a0899875a0 00000000 899050e8 89906690 00000000899875b0 00000000 00000000 02050004 46706341899875c0 89987568 8997706c 00000000 00000001899875d0 00000001 f740d62c 89907c70 899771c4899875e0 00180005 46706341 80bf6229 80bf6229899875f0 020b0002 50706341 8957e130 8990028089987600 8993eb28 8993eb28 5f534750 8993ea2889987610 02120006 46706341 898a8188 899612680: kd gBreakpoint 87 hiteax00000000 ebxf743b620 ecx2037010a edx00000000 esi899aea40 edi899875a0eipf7400533 espf789a220 ebpf789a250 iopl0 nv up ei pl zr na pe nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000246ACPI!ACPIDetectPdoDevices0x355:f7400533 8b45f4 mov eax,dword ptr [ebp-0Ch] ss:0010:f789a244000000020: kd dd 899875a0899875a0 00000000 899050e8 89906690 00000000899875b0 00000000 00000000 02050004 46706341899875c0 89987568 8997706c 00000000 00000001899875d0 00000001 f740d62c 89907c70 899771c4899875e0 00180005 46706341 80bf6229 80bf6229899875f0 020b0002 50706341 8957e130 8990028089987600 8993eb28 8993eb28 5f534750 8993ea2889987610 02120006 46706341 898a8188 899612680: kd gBreakpoint 87 hiteax00300020 ebxf743b620 ecx8051e010 edx8051e010 esi899ab690 edi899875a0eipf7400533 espf789a220 ebpf789a250 iopl0 nv up ei pl zr na pe nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000246ACPI!ACPIDetectPdoDevices0x355:f7400533 8b45f4 mov eax,dword ptr [ebp-0Ch] ss:0010:f789a244000000030: kd dd 899875a0899875a0 00000000 899050e8 89906690 8952a6c8899875b0 00000000 00000000 02050004 46706341899875c0 89987568 8997706c 00000000 00000001899875d0 00000001 f740d62c 89907c70 899771c4899875e0 00180005 46706341 80bf6229 80bf6229899875f0 020b0002 50706341 8957e130 8990028089987600 8993eb28 8993eb28 5f534750 8993ea2889987610 02120006 46706341 898a8188 899612680: kd gBreakpoint 87 hiteax00000000 ebxf743b620 ecx2037010a edx00000000 esi8990eaf0 edi899875a0eipf7400533 espf789a220 ebpf789a250 iopl0 nv up ei pl zr na pe nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000246ACPI!ACPIDetectPdoDevices0x355:f7400533 8b45f4 mov eax,dword ptr [ebp-0Ch] ss:0010:f789a244000000030: kd dd 899875a0899875a0 00000000 899050e8 89906690 8952a6c8899875b0 00000000 00000000 02050004 46706341899875c0 89987568 8997706c 00000000 00000001899875d0 00000001 f740d62c 89907c70 899771c4899875e0 00180005 46706341 80bf6229 80bf6229899875f0 020b0002 50706341 8957e130 8990028089987600 8993eb28 8993eb28 5f534750 8993ea2889987610 02120006 46706341 898a8188 899612680: kd gBreakpoint 87 hiteax00000000 ebxf743b620 ecx6030010a edx00000000 esi8990e8d8 edi899875a0eipf7400533 espf789a220 ebpf789a250 iopl0 nv up ei pl zr na pe nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000246ACPI!ACPIDetectPdoDevices0x355:f7400533 8b45f4 mov eax,dword ptr [ebp-0Ch] ss:0010:f789a244000000030: kd dd 899875a0899875a0 00000000 899050e8 89906690 8952a6c8899875b0 00000000 00000000 02050004 46706341899875c0 89987568 8997706c 00000000 00000001899875d0 00000001 f740d62c 89907c70 899771c4899875e0 00180005 46706341 80bf6229 80bf6229899875f0 020b0002 50706341 8957e130 8990028089987600 8993eb28 8993eb28 5f534750 8993ea2889987610 02120006 46706341 898a8188 899612680: kd gBreakpoint 87 hiteax00300020 ebxf743b620 ecx8051e010 edx8051e010 esi89906008 edi899875a0eipf7400533 espf789a220 ebpf789a250 iopl0 nv up ei pl zr na pe nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000246ACPI!ACPIDetectPdoDevices0x355:f7400533 8b45f4 mov eax,dword ptr [ebp-0Ch] ss:0010:f789a244000000040: kd dd 899875a0899875a0 00000000 899050e8 89906690 8952a6c8899875b0 8952a858 00000000 02050004 46706341899875c0 89987568 8997706c 00000000 00000001899875d0 00000001 f740d62c 89907c70 899771c4899875e0 00180005 46706341 80bf6229 80bf6229899875f0 020b0002 50706341 8957e130 8990028089987600 8993eb28 8993eb28 5f534750 8993ea2889987610 02120006 46706341 898a8188 899612680: kd gBreakpoint 87 hiteax00360020 ebxf743b620 ecx0058a000 edx0058a000 esi89906ea0 edi899875a0eipf7400533 espf789a220 ebpf789a250 iopl0 nv up ei pl zr na pe nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000246ACPI!ACPIDetectPdoDevices0x355:f7400533 8b45f4 mov eax,dword ptr [ebp-0Ch] ss:0010:f789a244000000050: kd dd 899875a0899875a0 00000000 899050e8 89906690 8952a6c8899875b0 8952a858 8952a9e8 02050004 46706341899875c0 89987568 8997706c 00000000 00000001899875d0 00000001 f740d62c 89907c70 899771c4899875e0 00180005 46706341 80bf6229 80bf6229899875f0 020b0002 50706341 8957e130 8990028089987600 8993eb28 8993eb28 5f534750 8993ea2889987610 02120006 46706341 898a8188 89961268//// Update the size of the relations by the number of matches that we// successfully made//newRelations-Count index;newRelationSize index;0: kd dd 899875a0899875a0 00000005 899050e8 89906690 8952a6c8899875b0 8952a858 8952a9e8 02050004 467063410: kd dt DEVICE_RELATIONS 899875a0nt!DEVICE_RELATIONS0x000 Count : 50x004 Objects : [1] 0x899050e8 _DEVICE_OBJECT//// We have to reference all of the objects that we added//index (currentRelations ! NULL ? currentRelations-Count :
;for (; index newRelationSize; index) {//// Attempt to reference the object//status ObReferenceObjectByPointer(newRelations-Objects[index],0,NULL,KernelMode);//// Update the device relation pointer//*DeviceRelations newRelations;//// Done//return STATUS_SUCCESS;}0: kd dv DeviceRelationsDeviceRelations 0xf789a2a40: kd dx -r1 ((ACPI!_DEVICE_RELATIONS * *)0xf789a2a
((ACPI!_DEVICE_RELATIONS * *)0xf789a2a
: 0xf789a2a4 [Type: _DEVICE_RELATIONS * *]0x899875a0 [Type: _DEVICE_RELATIONS *]0: kd dx -r1 ((ACPI!_DEVICE_RELATIONS *)0x899875a
((ACPI!_DEVICE_RELATIONS *)0x899875a
: 0x899875a0 [Type: _DEVICE_RELATIONS *][0x000] Count : 0x5 [Type: unsigned long][0x004] Objects [Type: _DEVICE_OBJECT * [1]]
国产成人精品免高潮在线观看-国产成人精品免高潮在线观看应用