ホームページ >バックエンド開発 >PHPチュートリアル >PHP调用DLL(COM)需要注意什么?

PHP调用DLL(COM)需要注意什么?

PHPz
PHPzオリジナル
2016-06-13 11:17:043243ブラウズ

注意:1、函数参数中,最后一个参数函数须是retval类型的;2、向接口传字符串类型的参数时,用BSTR类型;3、数字0不对应C中的0或NULL;4、空字符串""不对应NULL;5、向外输出的接口如果能放在一个类中,最好放在一个类中。

PHP调用DLL(COM)需要注意什么?

PHP调用DLL(COM)注意事项:

1、函数的参数中,最后一个参数函数是返回值,须是retval类型的。

2、向接口传字符串类型的参数时,不要用BSTR*类型的,而用BSTR,因为BSTR本身已经是指针了。

3、PHP中的数字0并不对应C/C++中的0或NULL,而是另有其值。

4、PHP中的空字符串""并不对应C/C++中的NULL,最好用计算其长度是否为0来判断是否为空串。

5、向外输出的接口如果能放在一个类中,最好都放在一个类中。曾经在输出的接口函数中用了不是用来导出函数的类(但在ATL工程中),出现不可用的情况,不清楚是否和接口是否和不在同一个类中有关。

6、为字符串分配空间用::SysAllocString(),并用::SysFreeString(mem)释放。这一条不是必须的,只是看到网上好多例子都是用这对函数来分配和释放空间的。

更多相关知识,请访问 PHP中文网!!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:php字符轮换次の記事:关于末期静态绑定