[NDK][NTDLL][PSAPI] Correct the the names of two LDR_DATA_TABLE_ENTRY fields. Brought...
authorAmine Khaldi <amine.khaldi@reactos.org>
Mon, 15 Jun 2015 18:38:57 +0000 (18:38 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Mon, 15 Jun 2015 18:38:57 +0000 (18:38 +0000)
svn path=/trunk/; revision=68151

reactos/dll/ntdll/ldr/ldrapi.c
reactos/dll/ntdll/ldr/ldrinit.c
reactos/dll/ntdll/ldr/ldrpe.c
reactos/dll/ntdll/ldr/ldrutils.c
reactos/dll/win32/psapi/psapi.c
reactos/include/ndk/ldrtypes.h

index 7fc53af..8db0c6c 100644 (file)
@@ -476,7 +476,7 @@ LdrFindEntryForAddress(PVOID Address,
     while (NextEntry != ListHead)
     {
         /* Get the entry and NT Headers */
-        LdrEntry = CONTAINING_RECORD(NextEntry, LDR_DATA_TABLE_ENTRY, InMemoryOrderModuleList);
+        LdrEntry = CONTAINING_RECORD(NextEntry, LDR_DATA_TABLE_ENTRY, InMemoryOrderLinks);
         NtHeader = RtlImageNtHeader(LdrEntry->DllBase);
         if (NtHeader)
         {
@@ -1036,7 +1036,7 @@ LdrQueryProcessModuleInformationEx(IN ULONG ProcessId,
 
                 while (InitEntry != InitListHead)
                 {
-                    InitModule = CONTAINING_RECORD(InitEntry, LDR_DATA_TABLE_ENTRY, InInitializationOrderModuleList);
+                    InitModule = CONTAINING_RECORD(InitEntry, LDR_DATA_TABLE_ENTRY, InInitializationOrderLinks);
 
                     /* Increase the index */
                     ModulePtr->InitOrderIndex++;
@@ -1384,7 +1384,7 @@ LdrUnloadDll(IN PVOID BaseAddress)
         /* Get the entry */
         LdrEntry = CONTAINING_RECORD(NextEntry,
                                      LDR_DATA_TABLE_ENTRY,
-                                     InInitializationOrderModuleList);
+                                     InInitializationOrderLinks);
         NextEntry = NextEntry->Blink;
 
         /* Remove flag */
@@ -1408,8 +1408,8 @@ LdrUnloadDll(IN PVOID BaseAddress)
 
             /* Unlink it */
             CurrentEntry = LdrEntry;
-            RemoveEntryList(&CurrentEntry->InInitializationOrderModuleList);
-            RemoveEntryList(&CurrentEntry->InMemoryOrderModuleList);
+            RemoveEntryList(&CurrentEntry->InInitializationOrderLinks);
+            RemoveEntryList(&CurrentEntry->InMemoryOrderLinks);
             RemoveEntryList(&CurrentEntry->HashLinks);
 
             /* If there's more then one active unload */
@@ -1417,7 +1417,7 @@ LdrUnloadDll(IN PVOID BaseAddress)
             {
                 /* Flush the cached DLL handle and clear the list */
                 LdrpLoadedDllHandleCache = NULL;
-                CurrentEntry->InMemoryOrderModuleList.Flink = NULL;
+                CurrentEntry->InMemoryOrderLinks.Flink = NULL;
             }
 
             /* Add the entry on the unload list */
@@ -1443,7 +1443,7 @@ LdrUnloadDll(IN PVOID BaseAddress)
         /* Set the entry and clear it from the list */
         CurrentEntry = LdrEntry;
         LdrpLoadedDllHandleCache = NULL;
-        CurrentEntry->InMemoryOrderModuleList.Flink = NULL;
+        CurrentEntry->InMemoryOrderLinks.Flink = NULL;
 
         /* Move it from the global to the local list */
         RemoveEntryList(&CurrentEntry->HashLinks);
index b6422b1..f4b5e82 100644 (file)
@@ -526,7 +526,7 @@ LdrpInitializeThread(IN PCONTEXT Context)
     while (NextEntry != ListHead)
     {
         /* Get the current entry */
-        LdrEntry = CONTAINING_RECORD(NextEntry, LDR_DATA_TABLE_ENTRY, InMemoryOrderModuleList);
+        LdrEntry = CONTAINING_RECORD(NextEntry, LDR_DATA_TABLE_ENTRY, InMemoryOrderLinks);
 
         /* Make sure it's not ourselves */
         if (Peb->ImageBaseAddress != LdrEntry->DllBase)
@@ -674,7 +674,7 @@ LdrpRunInitializeRoutines(IN PCONTEXT Context OPTIONAL)
     while (NextEntry != ListHead)
     {
         /* Get the Data Entry */
-        LdrEntry = CONTAINING_RECORD(NextEntry, LDR_DATA_TABLE_ENTRY, InInitializationOrderModuleList);
+        LdrEntry = CONTAINING_RECORD(NextEntry, LDR_DATA_TABLE_ENTRY, InInitializationOrderLinks);
 
         /* Check if we have a Root Entry */
         if (LdrRootEntry)
@@ -840,7 +840,7 @@ LdrpRunInitializeRoutines(IN PCONTEXT Context OPTIONAL)
     while (NextEntry != ListHead)
     {
         /* Get the Data Entrry */
-        LdrEntry = CONTAINING_RECORD(NextEntry, LDR_DATA_TABLE_ENTRY, InInitializationOrderModuleList);
+        LdrEntry = CONTAINING_RECORD(NextEntry, LDR_DATA_TABLE_ENTRY, InInitializationOrderLinks);
 
         /* FIXME: Verify NX Compat */
         // LdrpCheckNXCompatibility()
@@ -932,7 +932,7 @@ LdrShutdownProcess(VOID)
     while (NextEntry != ListHead)
     {
         /* Get the current entry */
-        LdrEntry = CONTAINING_RECORD(NextEntry, LDR_DATA_TABLE_ENTRY, InInitializationOrderModuleList);
+        LdrEntry = CONTAINING_RECORD(NextEntry, LDR_DATA_TABLE_ENTRY, InInitializationOrderLinks);
         NextEntry = NextEntry->Blink;
 
         /* Make sure it's not ourselves */
@@ -1037,7 +1037,7 @@ LdrShutdownThread(VOID)
     while (NextEntry != ListHead)
     {
         /* Get the current entry */
-        LdrEntry = CONTAINING_RECORD(NextEntry, LDR_DATA_TABLE_ENTRY, InInitializationOrderModuleList);
+        LdrEntry = CONTAINING_RECORD(NextEntry, LDR_DATA_TABLE_ENTRY, InInitializationOrderLinks);
         NextEntry = NextEntry->Blink;
 
         /* Make sure it's not ourselves */
@@ -1927,7 +1927,7 @@ LdrpInitializeProcess(IN PCONTEXT Context,
 
     /* Link the Init Order List */
     InsertHeadList(&Peb->Ldr->InInitializationOrderModuleList,
-                   &LdrpNtDllDataTableEntry->InInitializationOrderModuleList);
+                   &LdrpNtDllDataTableEntry->InInitializationOrderLinks);
 
     /* Initialize Wine's active context implementation for the current process */
     actctx_init();
index 6c93c8d..260c5bd 100644 (file)
@@ -318,7 +318,7 @@ LdrpHandleOneNewFormatImportDescriptor(IN LPWSTR DllPath OPTIONAL,
     {
         /* Add it to our list */
         InsertTailList(&Peb->Ldr->InInitializationOrderModuleList,
-                       &DllLdrEntry->InInitializationOrderModuleList);
+                       &DllLdrEntry->InInitializationOrderLinks);
     }
 
     /* Check if the Bound Entry is now invalid */
@@ -381,7 +381,7 @@ LdrpHandleOneNewFormatImportDescriptor(IN LPWSTR DllPath OPTIONAL,
             {
                 /* Add it to our list */
                 InsertTailList(&Peb->Ldr->InInitializationOrderModuleList,
-                               &ForwarderLdrEntry->InInitializationOrderModuleList);
+                               &ForwarderLdrEntry->InInitializationOrderLinks);
             }
         }
 
@@ -590,7 +590,7 @@ LdrpHandleOneOldFormatImportDescriptor(IN LPWSTR DllPath OPTIONAL,
     {
         /* Add the DLL to our list */
         InsertTailList(&Peb->Ldr->InInitializationOrderModuleList,
-                       &DllLdrEntry->InInitializationOrderModuleList);
+                       &DllLdrEntry->InInitializationOrderLinks);
     }
 
     /* Now snap the IAT Entry */
@@ -850,7 +850,7 @@ LdrpLoadImportModule(IN PWSTR DllPath OPTIONAL,
     {
         /* Add it to the in-init-order list in case of failure */
         InsertTailList(&Peb->Ldr->InInitializationOrderModuleList,
-                       &(*DataTableEntry)->InInitializationOrderModuleList);
+                       &(*DataTableEntry)->InInitializationOrderLinks);
     }
 
     return Status;
index 5069eb3..4474764 100644 (file)
@@ -1273,7 +1273,7 @@ SkipCheck:
         {
             /* Remove the DLL from the lists */
             RemoveEntryList(&LdrEntry->InLoadOrderLinks);
-            RemoveEntryList(&LdrEntry->InMemoryOrderModuleList);
+            RemoveEntryList(&LdrEntry->InMemoryOrderLinks);
             RemoveEntryList(&LdrEntry->HashLinks);
 
             /* Remove the LDR Entry */
@@ -1341,7 +1341,7 @@ SkipCheck:
             CandidateEnd = CandidateBase + CandidateEntry->SizeOfImage;
 
             /* Make sure this entry isn't unloading */
-            if (!CandidateEntry->InMemoryOrderModuleList.Flink) continue;
+            if (!CandidateEntry->InMemoryOrderLinks.Flink) continue;
 
             /* Check if our regions are colliding */
             if ((ImageBase >= CandidateBase && ImageBase <= CandidateEnd) ||
@@ -1465,7 +1465,7 @@ SkipCheck:
             {
                 /* Remove it from the lists */
                 RemoveEntryList(&LdrEntry->InLoadOrderLinks);
-                RemoveEntryList(&LdrEntry->InMemoryOrderModuleList);
+                RemoveEntryList(&LdrEntry->InMemoryOrderLinks);
                 RemoveEntryList(&LdrEntry->HashLinks);
 
                 /* Unmap it, clear the entry */
@@ -1576,7 +1576,7 @@ LdrpInsertMemoryTableEntry(IN PLDR_DATA_TABLE_ENTRY LdrEntry)
 
     /* Insert into other lists */
     InsertTailList(&PebData->InLoadOrderModuleList, &LdrEntry->InLoadOrderLinks);
-    InsertTailList(&PebData->InMemoryOrderModuleList, &LdrEntry->InMemoryOrderModuleList);
+    InsertTailList(&PebData->InMemoryOrderModuleList, &LdrEntry->InMemoryOrderLinks);
 }
 
 VOID
@@ -1630,7 +1630,7 @@ LdrpCheckForLoadedDllHandle(IN PVOID Base,
                                     InLoadOrderLinks);
 
         /* Make sure it's not unloading and check for a match */
-        if ((Current->InMemoryOrderModuleList.Flink) && (Base == Current->DllBase))
+        if ((Current->InMemoryOrderLinks.Flink) && (Base == Current->DllBase))
         {
             /* Save in cache */
             LdrpLoadedDllHandleCache = Current;
@@ -2097,7 +2097,7 @@ lookinhash:
         ListEntry = ListEntry->Flink;
 
         /* Check if it's being unloaded */
-        if (!CurEntry->InMemoryOrderModuleList.Flink) continue;
+        if (!CurEntry->InMemoryOrderLinks.Flink) continue;
 
         /* Check if name matches */
         if (RtlEqualUnicodeString(&FullDllName,
@@ -2195,7 +2195,7 @@ lookinhash:
         ListEntry = ListEntry->Flink;
 
         /* Check if it's in the process of being unloaded */
-        if (!CurEntry->InMemoryOrderModuleList.Flink) continue;
+        if (!CurEntry->InMemoryOrderLinks.Flink) continue;
 
         /* The header is untrusted, use SEH */
         _SEH2_TRY
@@ -2362,7 +2362,7 @@ LdrpGetProcedureAddress(IN PVOID BaseAddress,
             Entry = NtCurrentPeb()->Ldr->InInitializationOrderModuleList.Blink;
             LdrEntry = CONTAINING_RECORD(Entry,
                                          LDR_DATA_TABLE_ENTRY,
-                                         InInitializationOrderModuleList);
+                                         InInitializationOrderLinks);
 
             /* Make sure we didn't process it yet*/
             if (!(LdrEntry->Flags & LDRP_ENTRY_PROCESSED))
@@ -2536,7 +2536,7 @@ LdrpLoadDll(IN BOOLEAN Redirected,
                 /* Clear entrypoint, and insert into list */
                 LdrEntry->EntryPoint = NULL;
                 InsertTailList(&Peb->Ldr->InInitializationOrderModuleList,
-                               &LdrEntry->InInitializationOrderModuleList);
+                               &LdrEntry->InInitializationOrderLinks);
 
                 /* Cancel the load */
                 LdrpClearLoadInProgress();
@@ -2563,7 +2563,7 @@ LdrpLoadDll(IN BOOLEAN Redirected,
 
         /* Insert it into the list */
         InsertTailList(&Peb->Ldr->InInitializationOrderModuleList,
-                       &LdrEntry->InInitializationOrderModuleList);
+                       &LdrEntry->InInitializationOrderLinks);
 
         /* If we have to run the entrypoint, make sure the DB is ready */
         if (CallInit && LdrpLdrDatabaseIsSetup)
@@ -2653,7 +2653,7 @@ LdrpClearLoadInProgress(VOID)
         /* Get the loader entry */
         LdrEntry = CONTAINING_RECORD(Entry,
                                      LDR_DATA_TABLE_ENTRY,
-                                     InInitializationOrderModuleList);
+                                     InInitializationOrderLinks);
 
         /* Clear load in progress flag */
         LdrEntry->Flags &= ~LDRP_LOAD_IN_PROGRESS;
index 3971eec..051d6f8 100644 (file)
@@ -187,7 +187,7 @@ FindModule(IN HANDLE hProcess,
     {
         /* Load module data */
         if (!ReadProcessMemory(hProcess,
-                               CONTAINING_RECORD(ListEntry, LDR_DATA_TABLE_ENTRY, InMemoryOrderModuleList),
+                               CONTAINING_RECORD(ListEntry, LDR_DATA_TABLE_ENTRY, InMemoryOrderLinks),
                                Module,
                                sizeof(*Module),
                                NULL))
@@ -208,7 +208,7 @@ FindModule(IN HANDLE hProcess,
         }
 
         /* Get to next listed module */
-        ListEntry = Module->InMemoryOrderModuleList.Flink;
+        ListEntry = Module->InMemoryOrderLinks.Flink;
     }
 
     SetLastError(ERROR_INVALID_HANDLE);
index 7169efb..f4a1974 100644 (file)
@@ -128,11 +128,14 @@ typedef struct _PEB_LDR_DATA
 //
 // Loader Data Table Entry
 //
+// NOTE: The field 'InMemoryOrderLinks' MUST have that name.
+// It's hard-coded into WinDbg for PEB dumping!
+//
 typedef struct _LDR_DATA_TABLE_ENTRY
 {
     LIST_ENTRY InLoadOrderLinks;
-    LIST_ENTRY InMemoryOrderModuleList;
-    LIST_ENTRY InInitializationOrderModuleList;
+    LIST_ENTRY InMemoryOrderLinks;
+    LIST_ENTRY InInitializationOrderLinks;
     PVOID DllBase;
     PVOID EntryPoint;
     ULONG SizeOfImage;