写一个二次开发接口例子,帮我看一下,是一个硬件设备。得到电话号码的地理位置。
C# code
2.22.4.3 获取中国大陆的号码所在地信息
QNV_TOOL_LOCATION
功能描述 ( Description )
获取中国大陆的号码所在地信息(区号/城市名)
参数介绍 ( Parameters )
[in] nValue - 保留
[in] pInValue
需要检测的号码
[in] pInValueEx - 保留
[out]pOutValue
保存所在地信息的内存地址
[in] lBufSize
保存所在地信息的内存长度
返回值 ( Return Values )
大于0其它表示成功,其它表示失败
备注 (Remarks)
- 仅做参考
- 由于随着中国手机号码归属地的升级,该数据信息不一定完全准确
例如 (Example)
char szBuf[128];//分配足够大的空间
QNV_Tool(QNV_TOOL_LOCATION,0,”01088888888”,0,szBuf,128);
我想请教各位,C#该怎么写这个方法呢?
------解决方案--------------------byte[] szBuf = new byte[128];
QNV_Tool(QNV_TOOL_LOCATION,0,”01088888888”,0,szBuf,128);
至于QNV_TOOL_LOCATION这个应该是个常量吧,找到头文件定义的地方直接丢个值给它
------解决方案--------------------byte[] szOut = new byte[这都是常量你要找到定义];
string m_strPSTN = "xxxx";
long lRet = QNV_Tool(这都是常量你要找到定义,这都是常量你要找到定义,m_strPSTN,NULL,szOut,这都是常量你要找到定义);
MessageBox.Show(szOut.ToString());
m_strPSTN那里要注意ANSI和Unicode的问题
------解决方案-------------------- char szBuf[128];//分配足够大的空间
QNV_Tool(QNV_TOOL_LOCATION,0,”01088888888”,0,szBuf,128);
你担心的就是szBuf怎么传进去吧
byte[] szBuf = new byte[128];
IntPtr ptr=Marshal.UseUnsafexxxx(szBuf,szBuf.Lgngth);