请教大家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); }}