Alistair Leslie-Hughes leslie_alistair@hotmail.com writes:
- {
HANDLE handle, thread;
DuplicateHandle(GetCurrentProcess(), lpProcessInformation->hProcess,
GetCurrentProcess(), &handle, 0, FALSE, DUPLICATE_SAME_ACCESS);
DuplicateHandle(GetCurrentProcess(), lpProcessInformation->hThread,
GetCurrentProcess(), &thread, 0, FALSE, DUPLICATE_SAME_ACCESS);
hr = CorDebugProcess_Create(This, (IUnknown**)&pDebugProcess,
lpProcessInformation->dwProcessId, handle, thread);
It would be better to duplicate the handles in CorDebugProcess_Create, and of course check for error and return an appropriate failure.