Register("EbUsbApi.dll", "EbCreateDataFile", 'i=sls', "f=s", "r=l");$ch = $dw->EbCreateDa..._php 调用c++ dll">
当前位置:   article > 正文

php调用c dll,PHP调用C++DLL的问题

php 调用c++ dll

用DynamicWrapper方法调用。下载DynamicWrapper.dll到php ext下与windows system32下,

$dw = new COM("DynamicWrapper");

$dw->Register("EbUsbApi.dll", "EbCreateDataFile", 'i=sls', "f=s", "r=l");

$ch = $dw->EbCreateDataFile("222",11,"22");

i=describes the number and data type of the functions parameters

f=type of call _stdcall or _cdecl. So it can work with both MS C++ and Borland C++. Default to _stdcall. If that doesn't work use _cdecl. If that doesn't work good luck!

r=return data type.

Data types are:

const ARGTYPEINFO ArgInfo[] =

{

{'a', sizeof(IDispatch*), VT_DISPATCH}, // a IDispatch*

{'c', sizeof(unsigned char), VT_I4}, // c signed char

{'d', sizeof(double), VT_R8}, // d 8 byte real

{'f', sizeof(float), VT_R4}, // f 4 byte real

{'k', sizeof(IUnknown*), VT_UNKNOWN}, // k IUnknown*

{'h', sizeof(long), VT_I4}, // h HANDLE

{'l', sizeof(long), VT_I4}, // l long

{'p', sizeof(void*), VT_PTR}, // p pointer

{'s', sizeof(BSTR), VT_LPSTR}, // s string

{'t', sizeof(short), VT_I2}, // t short

{'u', sizeof(UINT), VT_UINT}, // u unsigned int

{'w', sizeof(BSTR), VT_LPWSTR}, // w wide string

}

[b]

请教返回值为布尔类型应该选哪个?[/b]

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/50944
推荐阅读
相关标签
  

闽ICP备14008679号