[驱动开发] struct _LDR_DATA_TABLE_ENTRY
2015-01-13 19:18
288 查看
@Windows XP Professional Service Pack 3 (x86) (5.1, Build 2600)
@Windows 7 Ultimate (x64) (6.1, Build 7600)
C++ Code
lkd> dt -b _LDR_DATA_TABLE_ENTRY nt!_LDR_DATA_TABLE_ENTRY +0x000 InLoadOrderLinks : _LIST_ENTRY +0x000 Flink : Ptr32 +0x004 Blink : Ptr32 +0x008 InMemoryOrderLinks : _LIST_ENTRY +0x000 Flink : Ptr32 +0x004 Blink : Ptr32 +0x010 InInitializationOrderLinks : _LIST_ENTRY +0x000 Flink : Ptr32 +0x004 Blink : Ptr32 +0x018 DllBase : Ptr32 +0x01c EntryPoint : Ptr32 +0x020 SizeOfImage : Uint4B +0x024 FullDllName : _UNICODE_STRING +0x000 Length : Uint2B +0x002 MaximumLength : Uint2B +0x004 Buffer : Ptr32 +0x02c BaseDllName : _UNICODE_STRING +0x000 Length : Uint2B +0x002 MaximumLength : Uint2B +0x004 Buffer : Ptr32 +0x034 Flags : Uint4B +0x038 LoadCount : Uint2B +0x03a TlsIndex : Uint2B +0x03c HashLinks : _LIST_ENTRY +0x000 Flink : Ptr32 +0x004 Blink : Ptr32 +0x03c SectionPointer : Ptr32 +0x040 CheckSum : Uint4B +0x044 TimeDateStamp : Uint4B +0x044 LoadedImports : Ptr32 +0x048 EntryPointActivationContext : Ptr32 +0x04c PatchInformation : Ptr32
@Windows 7 Ultimate (x64) (6.1, Build 7600)
lkd> dt -b _LDR_DATA_TABLE_ENTRY nt!_LDR_DATA_TABLE_ENTRY +0x000 InLoadOrderLinks : _LIST_ENTRY +0x000 Flink : Ptr64 +0x008 Blink : Ptr64 +0x010 InMemoryOrderLinks : _LIST_ENTRY +0x000 Flink : Ptr64 +0x008 Blink : Ptr64 +0x020 InInitializationOrderLinks : _LIST_ENTRY +0x000 Flink : Ptr64 +0x008 Blink : Ptr64 +0x030 DllBase : Ptr64 +0x038 EntryPoint : Ptr64 +0x040 SizeOfImage : Uint4B +0x048 FullDllName : _UNICODE_STRING +0x000 Length : Uint2B +0x002 MaximumLength : Uint2B +0x008 Buffer : Ptr64 +0x058 BaseDllName : _UNICODE_STRING +0x000 Length : Uint2B +0x002 MaximumLength : Uint2B +0x008 Buffer : Ptr64 +0x068 Flags : Uint4B +0x06c LoadCount : Uint2B +0x06e TlsIndex : Uint2B +0x070 HashLinks : _LIST_ENTRY +0x000 Flink : Ptr64 +0x008 Blink : Ptr64 +0x070 SectionPointer : Ptr64 +0x078 CheckSum : Uint4B +0x080 TimeDateStamp : Uint4B +0x080 LoadedImports : Ptr64 +0x088 EntryPointActivationContext : Ptr64 +0x090 PatchInformation : Ptr64 +0x098 ForwarderLinks : _LIST_ENTRY +0x000 Flink : Ptr64 +0x008 Blink : Ptr64 +0x0a8 ServiceTagLinks : _LIST_ENTRY +0x000 Flink : Ptr64 +0x008 Blink : Ptr64 +0x0b8 StaticLinks : _LIST_ENTRY +0x000 Flink : Ptr64 +0x008 Blink : Ptr64 +0x0c8 ContextInformation : Ptr64 +0x0d0 OriginalBase : Uint8B +0x0d8 LoadTime : _LARGE_INTEGER +0x000 LowPart : Uint4B +0x004 HighPart : Int4B +0x000 u : <unnamed-tag> +0x000 LowPart : Uint4B +0x004 HighPart : Int4B +0x000 QuadPart : Int8B
C++ Code
typedef struct _LDR_DATA_TABLE_ENTRY { // Start from Windows XP LIST_ENTRY InLoadOrderLinks; LIST_ENTRY InMemoryOrderLinks; LIST_ENTRY InInitializationOrderLinks; PVOID DllBase; PVOID EntryPoint; ULONG SizeOfImage; UNICODE_STRING FullDllName; UNICODE_STRING BaseDllName; ULONG Flags; USHORT LoadCount; USHORT TlsIndex; union { LIST_ENTRY HashLinks; struct { PVOID SectionPointer; ULONG CheckSum; }; }; union { ULONG TimeDateStamp; PVOID LoadedImports; }; PVOID EntryPointActivationContext; //_ACTIVATION_CONTEXT * PVOID PatchInformation; // Start from Windows Vista LIST_ENTRY ForwarderLinks; LIST_ENTRY ServiceTagLinks; LIST_ENTRY StaticLinks; PVOID ContextInformation; PVOID OriginalBase; LARGE_INTEGER LoadTime; } LDR_DATA_TABLE_ENTRY, *PLDR_DATA_TABLE_ENTRY;
相关文章推荐
- 遍历所有驱动的名_根据本驱动对象的成员(DriverObject->DriverSection)_对应LDR_DATA_TABLE_ENTRY结构体_双向链表使用
- WIN7_LDR_DATA_TABLE_ENTRY结构(x86 x64)
- LDR_DATA_TABLE_ENTRY结构得不到完整路径?
- DriverObject->DriverSection结构体LDR_DATA_TABLE_ENTRY中的结构
- linux内核及驱动开发中有关__init,__exit和__initdata的用法 .
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- windows驱动开发学习笔记一双向链表LIST_ENTRY
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- 有关数据对齐data alignment的很好的解释,做到底层开发比如驱动开发,这些概念很重要
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 8000401a 因为配置标识不正确,系统无法开始服务器进程。请检查用户名和密码。 (异常来自 HRESULT:0x8000401A)。 在 BatchImportEntryTable.GetExcelData(String FileName)
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- [ios开发基础之 Core Data[3]]如何使用NSFetchedResultsController 来集成TableView操作
- iOS 7应用开发公开课笔记 L13:Core Data and Table View
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- linux内核及驱动开发中有关__init,__exit和__initdata的用法 .
- Delphi XE10 开发DataSnap服务端驱动问题解决