Home >Backend Development >PHP Tutorial >PHP调用DLL(COM)需要注意什么?

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

PHPz
PHPzOriginal
2016-06-13 11:17:043234browse

注意: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中文网!!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:php字符轮换Next article:关于末期静态绑定