Skip to content

Commit 637dc96

Browse files
committed
Minor changes
1 parent e8b6a88 commit 637dc96

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

Detours.cpp

+23
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,29 @@ namespace Detours {
387387
// UnLinkModule
388388
// ----------------------------------------------------------------
389389

390+
bool UnLinkModule(PLDR_DATA_TABLE_ENTRY pDTE, PLINK_DATA pLinkData) {
391+
if (!pDTE || !pLinkData) {
392+
return false;
393+
}
394+
395+
memset(pLinkData, 0, sizeof(LINK_DATA));
396+
397+
pLinkData->m_pDTE = pDTE;
398+
pLinkData->m_pSavedInLoadOrderLinks = pDTE->InLoadOrderLinks.Blink->Flink;
399+
pLinkData->m_pSavedInInitializationOrderLinks = pDTE->InInitializationOrderLinks.Blink->Flink;
400+
pLinkData->m_pSavedInMemoryOrderLinks = pDTE->InMemoryOrderLinks.Blink->Flink;
401+
pLinkData->m_pSavedHashLinks = pDTE->HashLinks.Blink->Flink;
402+
pLinkData->m_pSavedNodeModuleLink = pDTE->NodeModuleLink.Blink->Flink;
403+
404+
UnLinkEntry(&pDTE->InLoadOrderLinks);
405+
UnLinkEntry(&pDTE->InInitializationOrderLinks);
406+
UnLinkEntry(&pDTE->InMemoryOrderLinks);
407+
UnLinkEntry(&pDTE->HashLinks);
408+
UnLinkEntry(&pDTE->NodeModuleLink);
409+
410+
return true;
411+
}
412+
390413
bool UnLinkModule(void* pBaseAddress, PLINK_DATA pLinkData) {
391414
if (!pBaseAddress || !pLinkData) {
392415
return false;

Detours.h

+1
Original file line numberDiff line numberDiff line change
@@ -1437,6 +1437,7 @@ namespace Detours {
14371437
// UnLinkModule
14381438
// ----------------------------------------------------------------
14391439

1440+
bool UnLinkModule(PLDR_DATA_TABLE_ENTRY pDTE, PLINK_DATA pLinkData);
14401441
bool UnLinkModule(void* pBaseAddress, PLINK_DATA pLinkData);
14411442
bool UnLinkModule(HMODULE hModule, PLINK_DATA pLinkData);
14421443
bool UnLinkModuleA(const char* szModuleName, PLINK_DATA pLinkData);

0 commit comments

Comments
 (0)