php 调用 C++ dll,该怎么解决

WBOY
リリース: 2016-06-13 10:51:17
オリジナル
953 人が閲覧しました

php 调用 C++ dll
动态库中要调用的函数

C/C++ code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->extern "C" int __stdcall GameRegister(char* szSystemInfo, char *szRegCode, char *szLicense);
ログイン後にコピー


PHP代码
PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php $dw = new Com("DynamicWrapper");                $dw->Register("EducationGameRegister.dll", "GameRegister", 'i=sss', "f=s", "r=u");                                 $reg_code = "";                $ch = $dw->GameRegister("P2G9YFWGZW68G","2597367cea95b2cf0aace3bd5059c33e",&$reg_code);                                echo "Return Value:".$ch;                echo "Register Code:".$reg_code;                ?>
ログイン後にコピー


运行时出现下面的错误: 
Fatal error: Uncaught exception 'com_exception' with message 'Error [0x80070057] 参数不正确。 ' in D:\WAMP\WWW\index.php:11 Stack trace: #0 D:\WAMP\WWW\index.php(11): com->Register('EducationGameRe...', 'GameRegister', 'i=sss', 'f=s', 'r=l') #1 {main} thrown in D:\WAMP\WWW\index.php on line 11

初次接触PHP,大家帮我看一下,谢谢了!

------解决方案--------------------
原型要求参数是指针,而 com 是不能传递指针的
------解决方案--------------------
$ch = $dw->GameRegister("P2G9YFWGZW68G","2597367cea95b2cf0aace3bd5059c33e",$reg_code);
這樣試試
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート