dbghelp: Return TRUE in SymInitializeW if process is already initialized and add an ERR to SymCleanup.

This commit is contained in:
Eric van Beurden 2008-01-17 15:47:55 -05:00 committed by Alexandre Julliard
parent 5184b49fe0
commit a5a35ec211

View file

@ -268,8 +268,14 @@ BOOL WINAPI SymInitializeW(HANDLE hProcess, PCWSTR UserSearchPath, BOOL fInvadeP
TRACE("(%p %s %u)\n", hProcess, debugstr_w(UserSearchPath), fInvadeProcess);
if (process_find_by_handle(hProcess))
FIXME("what to do ??\n");
if (process_find_by_handle(hProcess)){
WARN("the symbols for this process have already been initialized!\n");
/* MSDN says to only call this function once unless SymCleanup() has been called since the last call.
It also says to call SymRefreshModuleList() instead if you just want the module list refreshed.
Native still returns TRUE even if the process has already been initialized. */
return TRUE;
}
pcs = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*pcs));
if (!pcs) return FALSE;
@ -379,6 +385,8 @@ BOOL WINAPI SymCleanup(HANDLE hProcess)
return TRUE;
}
}
ERR("this process has not had SymInitialize() called for it!\n");
return FALSE;
}