我查找了像CreateProcess和CreateThreadefrom等函数的源代码kernel32。例如,CreateThread@kernel32进入kernelbase.dll并以对 的调用结束NtCreateThreadEx。
我CsrClientCallServer在该函数中看不到任何调用,只有很少的检查和调用RtlActivateActivationContextEx。我想知道这些调用是否是进程运行所必需的
我查了一下,ntdll没有带名字的函数CsrClientCallServer。然而,有一些函数,比如NtConnectPort等等,可以使用LPC机制。
我假设它CsrClientCallServer是建立在诸如 之类的函数之上NtConnectPort,NtReplyPort并带有一些特定参数。我的问题是:是否有必要从用户模式通知 csrss 关于创建的线程?
对于现有进程的线程,我不清楚 wininternals 和其他书籍是否应该这样做。我尝试NtCreateThread在 win10 上使用 old 创建线程并且它工作正常,没有通过 LPC 发出任何通知但是例如相同的代码可以在 xp 上工作吗?