问题描述
我有一个非常简单的应用程序(COM自动化服务器),用于在需要时运行CGI进程。它在所有Windows平台下运行正常,从win95,98,me,最高2000,xp和2k3开始。到目前为止没有问题,除了 Vista ...当在此平台下调用CreateProcess()时,它只返回FALSE,GetLastError为87(ERROR_INVALID_PARAMETER)。我发现它的环境块是 Vista 不喜欢的。每当我使用NULL 调用时,它就会起作用。当我通过正确的环境阻止时,无法正常工作。 MSDN没有阐明环境块参数的局限性,所以我认为没有限制。
I have a very simple application (COM Automation server) that is intended to run CGI processes when needed. It works fine under all Windows platforms starting with win95, 98, me, up to 2000, xp, and 2k3. No problems so far, except Vista... When CreateProcess() is called under this platform it just returns FALSE and GetLastError is 87 (ERROR_INVALID_PARAMETER). I found out that it's environement block is what Vista does not like. Whenever I call with NULL it works. When I pass a correct environment block it does not work. MSDN sheds no light on the limitations in the enviroment block arguments, so I assumed there are no limitations.
有什么解决方案吗?没有环境阻止我就无法运行CGI流程。
Is there any solution? I can't run CGI process without enviroment block.
推荐答案
我得到的错误代码是87,ERROR_INVALID_PARAMETER,"参数不正确"。
The error code I get is 87, ERROR_INVALID_PARAMETER, "The parameter is incorrect".
这篇关于CreateProcess()返回意外的ERROR_INVALID_PARAMETER。太糟糕了。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!