Win7 64bit下的XE2,编译为32位的代码:我试图在AfterInstall事件中设置服务的配置的延迟启动属性。 QueryServiceConfig2可以很好地获取现有值,但是对ChangeServiceConfig2的调用通过GetLastError返回$ 57(错误参数)。我使用了在WinSvc中声明的VAR_DAYAYED_AUTO_START_INFO类型的var,但是我尝试过各种其他存储大小的变量而没有成功。在设置服务的描述时,对ChangeServiceConfig2的调用工作正常。
我在这里缺少什么?
答案 0 :(得分:0)
谢谢,是的,显示代码本来会更好,但事实证明它可能没那么有用。我今天发现在info结构中传递的BOOL值只能设置为0或1的数值 - 任何其他值(特别是Delphi使用的-1为TRUE)会引发$ 57 bad-param错误。我找到了这个因为将param设置为FALSE没有生成错误但是将其设置为TRUE。将它更改为一个整数并尝试不同的值使我只有两个可接受的值。这与我能想到的BOOL参数的每个其他Windows API调用不一致,这就是为什么它让我难过。无论如何,谢谢你们。