В чем разница между CreateThread
и CreateRemoteThread
'lpParameter
? Из CreateThread
документов и CreateRemoteThread
документов lpParameter
является «указателем на переменную, которая будет передана в функцию потока».
В отношении CreateRemoteThread
lpParameter
является указателем на пустой объект, который имеет смысл. Это может быть некоторый адрес в некотором месте в памяти.
HANDLE CreateRemoteThread(
HANDLE hProcess,
LPSECURITY_ATTRIBUTES lpThreadAttributes,
SIZE_T dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress,
LPVOID lpParameter,
DWORD dwCreationFlags,
LPDWORD lpThreadId
);
В отношении CreateThread
lpParameter
является указателем на объект LPVOID "__drv_aliasesMem". Почему это дополнение "__drv_aliasesMem"?
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes,
SIZE_T dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress,
__drv_aliasesMem LPVOID lpParameter,
DWORD dwCreationFlags,
LPDWORD lpThreadId
);