读书人

vc转c#如何写

发布时间: 2012-04-04 16:38:51 作者: rapoo

请教大家vc转c#怎么写
#define MESSAGE_HAVE_CID_FSK 0x0000
有FSK方式的主叫事件


▲ GX_GetFskCallerID
函数原型:unsigned short GX_GetFskCallerID(
unsigned short ChannelNo,char*DateTime,char *TelNo,
char *Name)
功 能:获取FSK主叫信息,只有在收到MESSAGE_HAVE_CID_FSK时,调用该函数,其返回值才有意义。该函数所返回的主叫信息是经过处理的信息,即已经分解成主叫日期时间、主叫号码和主叫名称等。
参 数:ChannelNo通道的逻辑号码。
DateTime 主叫时间,字符串型,如果没有主叫时间,则返回空串。
TelNo主叫号码,字符串型,如果没有主叫号码,则返回空串。
Name主叫名称,字符串型,如果没有主叫名称,则返回空串。
返 回:如果调用成功,返回0
注 释:该函数适用于包括中继模块通道、用户模块通道、录音模块通道
对于DateTime、Telno和Name,用户提供的缓存区长度一定要大于相应的最大可显位数,建议最好为MAX_CID_NUM。调用后一定要检测返回值。

------------------------------------------------
以上程序在c#中,不会写,请高手帮帮忙。


[解决办法]

C# code
using System;using System.Runtime.InteropServices;using System.Text;namespace ConsoleApplication1{    internal class Program    {        private static void Main(string[] args)        {            StringBuilder sb1 = new StringBuilder(100);            StringBuilder sb2 = new StringBuilder(100);            StringBuilder sb3 = new StringBuilder(100);            GX_GetFskCallerID(MESSAGE_HAVE_CID_FSK, sb1, sb2, sb3);            Console.ReadKey(true);        }        [DllImport("TheCppLib.dll")]        public static extern double add(ref double a, ref double b);        public const int MESSAGE_HAVE_CID_FSK = 0;        [DllImport("TheCppLib.dll", EntryPoint = "GX_GetFskCallerID",CharSet = CharSet.Ansi)]        public static extern ushort GX_GetFskCallerID(ushort ChannelNo,                                                      StringBuilder DateTime,                                                      StringBuilder TelNo,                                                      StringBuilder Name);    }} 

读书人网 >C#

热点推荐