写一个二次开发接口例子,帮我看一下,是一个硬件设备。得到电话号码的地理位置。
- 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);