正如标题所述,我设法使用以下内容在php中创建一个对象:
$obj = new COM('{8BCD4411-D055-4DAF-BAA6-2942DDD370E0}');
我可以调用创建对象的某个函数,例如:
$conn = $obj->C_GetSdkVersion();
当我使用浏览器
时,它可以正确返回(通过echo)版本但是,当我尝试将一些参数传递给COM对象时
$serverPort = 30000;
$initStat = $obj->C_ServerInit($serverPort, null);
最初代码是用 C / C ++ 编写的,所以函数在C / C ++中看起来像这样
long C_ServerInit (long lServerPort, long lUserData)
,其中
lServerPort 是打算收听的本地主机端口,例如(30000)
在这种情况下,lUserData 可能为null
发生错误:
例外' com_exception'消息'参数0:类型不匹配'
我做了什么:
function C_ServerInit( /* VT_I4 [3] */ $lServerPort, /* VT_I4 [3] */ $lUserData ){ /* C_ServerSDK Init function, once invoked. */ }
我是这个COM对象概念的新手,希望你们有一些想法。感谢