上一页 1 2 3 4 5 6 7 8 9 10 ··· 36 下一页
摘要: LONG InterlockedExchange( IN OUT PLONG Target, IN LONG Value ); 这个就是相当于赋值用,例如 InterlockedExchange ( &m_PinsWithResources, 0 ); LONG InterlockedCompareExchange( IN OUT PLONG Destination, IN ... 阅读全文
posted @ 2011-04-29 16:13 Fan Zhang 阅读(212) 评论(0) 推荐(0)
摘要: 列出所有设备Node !devnode 0 1 列出设备堆栈 !devstack xxxxx 查看IRP !irp xxxxx 查看设备对象 !devobj 查看文件对象 !fileobj 阅读全文
posted @ 2011-04-28 11:16 Fan Zhang 阅读(384) 评论(0) 推荐(0)
摘要: 早期的Windows驱动为了给设备程序暴露一个名字,使用符号链接。 在Win2000以后使用Device Interface Classes,它其实就是一个GUID。用设备的硬件ID加上这个GUID,构成一个符号链接。这样避免了使用命名冲突,同时一眼就可以从这个符号链接里知道这个设备是什么类型的设备。 它的信心存储在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\C... 阅读全文
posted @ 2011-04-19 15:59 Fan Zhang 阅读(287) 评论(0) 推荐(0)
摘要: Trap Frame是指中断、自陷、异常进入内核后,在堆栈上形成的一种数据结构。对于Windows操作系统,是 kd> dt nt!_KTRAP_FRAME +0x000 DbgEbp : Uint4B +0x004 DbgEip : Uint4B +0x008 DbgArgMark : Uint4B +0x00c DbgArgPointer : Uint4B +0x010 TempSe... 阅读全文
posted @ 2011-04-07 17:17 Fan Zhang 阅读(1726) 评论(0) 推荐(0)
摘要: .load wmitrace .load Traceprt !wmitrace.searchpath C:\MFLD\I2C_SPB\Debug 阅读全文
posted @ 2011-03-23 17:42 Fan Zhang 阅读(338) 评论(0) 推荐(0)
摘要: bcdedit/set testsigning on 阅读全文
posted @ 2011-03-19 12:00 Fan Zhang 阅读(281) 评论(0) 推荐(0)
摘要: MachHwDetect调用,它其实是个宏,对应i386,它对应着PcHwDetect。 SystemKey = DetectSystem(); /* Detect buses */ DetectPciBios(SystemKey, &BusNumber); DetectApmBios(SystemKey, &BusNumber); DetectPnpBios(SystemKey, &BusNumber); DetectIsaBios(SystemKey, &BusNumber); DetectAcpiBios(SystemKey, &BusNumber 阅读全文
posted @ 2011-03-16 15:15 Fan Zhang 阅读(1400) 评论(0) 推荐(0)
摘要: 建立全局PAGE_LOOKUP_TABLE_ITEM类型的数组PageLookupTableAddress,元素个数是TotalPageCount(总共可用页数)。 然后调用MmInitPageLookupTable函数初始化PageLookupTableAddress,并且标记每个元素记录的类型是什么。 MmInitializeHeap初始化Heap 阅读全文
posted @ 2011-03-16 15:05 Fan Zhang 阅读(183) 评论(0) 推荐(0)
摘要: MmInitializeMemoryManager函数是BootMain函数中很重要的一步。 MmInitializeMemoryManager的前面会打印出一段log,代码如下。 #if DBG // Dump the system memory map DPRINTM(DPRINT_MEMORY, "System Memory Map (Base Address, Length, Type):... 阅读全文
posted @ 2011-03-16 11:51 Fan Zhang 阅读(265) 评论(0) 推荐(0)
摘要: 1.代码从MBR启动(boot\freeldr\bootsect\dosmbr.asm) 2.转到硬盘启动分区(boot\freeldr\bootsect\fat32.asm),它负责寻找freeldr.sys。找到后加载到0000:8000h,然后找到freeldr.sys的入口地址。 3.代码跳转到_mainCRTStartup代码(boot\freeldr\freeldr\arch\i386... 阅读全文
posted @ 2011-03-15 16:24 Fan Zhang 阅读(369) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 36 下一页