Rumah > php教程 > php手册 > teks badan

PHP调用C++DLL的问题

WBOY
Lepaskan: 2016-06-06 19:42:29
asal
1617 orang telah melayarinya

用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=descri

用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]

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan