最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c++函數(shù)轉(zhuǎn)c#函數(shù)示例程序分享

 更新時間:2013年12月04日 09:51:27   作者:  
這篇文章主要介紹了c++函數(shù)轉(zhuǎn)c#函數(shù)示例程序,大家參考使用吧

復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace FDEP
{
    /// <summary>
    /// 羅旭成
    /// 深證通函數(shù)轉(zhuǎn)換
    /// </summary>
    public class ImportDLL
    {
        #region * 常量定義
        //*****************************************************************
        //協(xié)議類型常量
        //名稱                             定義值     說明
        //MR_PROTOCOLTYPE_MRSTANDAND       0x01      FDEP規(guī)定的標識業(yè)務(wù)協(xié)議
        //MR_PROTOCOLTYPE_SELFCUSTOM       0xFF      用戶自定義協(xié)議類型
        /// <summary>
        /// 協(xié)議類型常量
        /// </summary>
        public const uint MR_PROTOCOLTYPE_MRSTANDAND = 0x01; // SBSP標準業(yè)務(wù)協(xié)議。
        public const uint MR_PROTOCOLTYPE_SELFCUSTOM = 0xFF; // 用戶自定義協(xié)議類型。
        //*****************************************************************
        //消息標識位常量
        //名稱                             定義值     說明
        //MR_MSGFLAG_PERSIST               0x01      持久消息標志,用于可靠傳輸。目前暫不支持
        //MR_MSGFLAG_COMPRESS              0x02      壓縮標志,需進行壓縮傳輸
        /// <summary>
        /// 消息標志位常量
        /// </summary>

        public const uint MR_MSGFLAG_PERSIST = 0x01; // 持久消息標志,用于可靠傳輸。
        public const uint MR_MSGFLAG_COMPRESS = 0x02; // 壓縮標志,需進行壓縮傳輸。
        //*****************************************************************
        //長度常量
        //名稱                             定義值     說明
        //MR_MAXLEN_ADDR                   64        用戶標識及應(yīng)用標識的最大長度
        //MR_MAXLEN_PKGID                  64        消息包標識的最大長度
        //MR_MAXLEN_USERDATA               256       用戶保留數(shù)據(jù)的最大長度
        //MR_FIXLEN_EXPIREDABSTIME         20        過期絕對時間固定長度
        /// <summary>
        /// 消息標志位常量
        /// </summary>
        public const int MR_MAXLEN_ADDR = 64; // 用戶標識及應(yīng)用標識的最大長度。
        public const int MR_MAXLEN_PKGID = 64; // 消息包標識的最大長度。
        public const int MR_MAXLEN_USERDATA = 256; // 用戶保留數(shù)據(jù)的最大長度。
        public const int MR_FIXLEN_EXPIREDABSTIME = 20; // 過期絕對時間固定長度。
        //*****************************************************************
        //函數(shù)返回錯誤值
        //MR_ERRCODE_OK                   0
        //MR_ERRCODE_PARAMERR             -1
        //MR_ERRCODE_CONNERR              -2
        //MR_ERRCODE_TIMEEXPIRED          -3
        //MR_ERRCODE_TIMEOUT              -4
        //MR_ERRCODE_NOMSG                -5
        //MR_ERRCODE_BUFTOOSHORT          -6
        //MR_ERRCODE_BUFTOOBIG            -7
        //MR_ERRCODE_SYSERROR             -8
        #endregion

        #region * 結(jié)構(gòu)體的定義
        /// <summary>
        /// 用來表示一條消息的各種屬性
        /// </summary>
        [StructLayout(LayoutKind.Sequential)]
        public struct STUsgProperty
        {
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = MR_MAXLEN_ADDR)]
            public string m_szSourceUserID;//MR_MAXLEN_ADDR 源用戶標識,以“\0”結(jié)尾的字符串
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = MR_MAXLEN_ADDR)]
            public string m_szSourceAppID;//MR_MAXLEN_ADDR 源應(yīng)用標識,以“\0”結(jié)尾的字符串
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = MR_MAXLEN_ADDR)]
            public string m_szDestUserID;//MR_MAXLEN_ADDR 目的用戶標識,以“\0”結(jié)尾的字符串
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = MR_MAXLEN_ADDR)]
            public string m_szDestAppID;//MR_MAXLEN_ADDR 目的應(yīng)用標識,以“\0”結(jié)尾的字符串
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = MR_MAXLEN_PKGID)]
            public string m_szPkgID;//MR_MAXLEN_PKGID 消息包的包標識,以“\0”結(jié)尾的字符串,或者由用戶調(diào)用MrCreatePkgID函數(shù)生成,或者為空(即'\0')
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = MR_MAXLEN_PKGID)]
            public string m_szCorrPkgID;//MR_MAXLEN_PKGID 相關(guān)包標識,以“\0”結(jié)尾的字符串,供用戶自用
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = MR_MAXLEN_USERDATA)]
            public string m_szUserData1;//MR_MAXLEN_USERDATA 用戶數(shù)據(jù)1,以“\0”結(jié)尾的字符串,供用戶自用
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = MR_MAXLEN_USERDATA)]
            public string m_szUserData2;//MR_MAXLEN_USERDATA 用戶數(shù)據(jù)2,以“\0”結(jié)尾的字符串,供用戶自用
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = MR_FIXLEN_EXPIREDABSTIME)]
            public string m_szExpiredAbsTime;//MR_FIXLEN_EXPIREDABSTIME 該消息的過期時間,以“\0”結(jié)尾的字符串,格式為“YYYY-MM-DD HH:MM:SS”。也可以置空,此時如果目的用戶不在線,或者目的應(yīng)用未連接,則消息立即過期。
            public byte m_ucFlag;//消息標識,有8個二進制位組成,各位含義如下:位0 --為1表示持久消息,需可靠傳輸,暫不支持;
            //位1 --為1表示消息需壓縮傳輸
            public byte m_ucProtocolType;//協(xié)議類型標識,取值可以是下列之一:MR_PROTOCOLTYPE_MRSTANDAND  0x01  FDEP規(guī)定的標準業(yè)務(wù)協(xié)議
            //MR_PROTOCOLTYPE_SELFCUSTOM  0xFF  用戶自定義協(xié)議類型
        }

        /// <summary>
        /// 用來定義與接入客戶端建立連接所需的各種信息
        /// </summary>
        [StructLayout(LayoutKind.Sequential)]
        public struct STUConnInfo
        {
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
            public string m_szMRIP;//接入客戶端消息路由器的IP地址,以"\0"結(jié)尾的字符串,格式為“xxx.xxx.xxx.xxx”
            public UInt16 m_usMRPort;//接入客戶端消息路由器的連接端口
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
            public string m_szMRIPBak;//備用消息路由器的IP地址,不設(shè)置備用消息路由器時可以為空
            public UInt16 m_usMRPortBak;//備用消息路由器的連接端口,不設(shè)置備用消息路由器時可以為0
        }
        #endregion

        #region * 函數(shù)的定義
        /// <summary>
        /// 定義的回調(diào)函數(shù)
        /// </summary>
        /// <param name="psPkg">要發(fā)送的消息包緩沖區(qū)</param>
        /// <param name="iPkgLen">緩沖區(qū)中的消息包長度</param>
        /// <param name="pMsgPropery">消息包屬性</param>
        /// <param name="pvUserData">供回調(diào)函數(shù)使用的用戶數(shù)據(jù)</param>
        /// <returns></returns>
        [UnmanagedFunctionPointerAttribute(CallingConvention.StdCall)]
        public delegate int OnReceiveCallBack(string psPkg, int iPkgLen, ref STUsgProperty pMsgPropery, IntPtr pvUserData);
        //typedef int (*OnReceiveCallBack)(const char* psPkg, int iPkgLen, const STUMsgProperty* pMsgPropery, void* pvUserData);


        /// <summary>
        /// 1.初始化,獲取相關(guān)資源,并嘗試與接入客戶端FDAP建立連接
        /// </summary>
        /// <param name="psAppID">本應(yīng)用的應(yīng)用標識</param>[in]
        /// <param name="psPasswd">本應(yīng)用在接入客服端設(shè)置的密碼,密碼必須與預(yù)設(shè)的匹配才能繼續(xù)</param>[in]
        /// <param name="onReceive">接收到消息包時的回調(diào)函數(shù)</param>[in]
        /// <param name="oConnInfo">接入客戶端連接信息</param>[in]
        /// <param name="pvUserData">供回調(diào)函數(shù)使用的用戶數(shù)據(jù)</param>[in]
        /// <returns>NULL 初始化失敗 非NULL 初始化成功,返回一個連接句柄,給句柄將作為其他函數(shù)調(diào)用的參數(shù)</returns>
        [DllImport("mrapi.dll", EntryPoint = "MrInit", CallingConvention = CallingConvention.StdCall, SetLastError = true, CharSet = CharSet.Ansi)]
        public static extern IntPtr MrInit(string psAppID, string psPasswd, OnReceiveCallBack onReceive, STUConnInfo oConnInfo, IntPtr pvUserData);
        //void* _stdcall MrInit(const char* psAppID, const char* psAppPasswd,OnReceiveCallBack onReceive,const STUConnInfo oConnInfo, void* pvUserData);

        /// <summary>
        /// 2.初始化,獲取相關(guān)資源,并嘗試與接入客戶端FDAP建立連接
        /// </summary>
        /// <param name="psUserCertID">本應(yīng)用的用戶標識</param>[in]
        /// <param name="psAppID">本應(yīng)用的應(yīng)用標識</param>[in]
        /// <param name="psPasswd">本應(yīng)用在接入客服端設(shè)置的密碼,密碼必須與預(yù)設(shè)的匹配才能繼續(xù)</param>[in]
        /// <param name="onReceive">接收到消息包時的回調(diào)函數(shù)</param>[in]
        /// <param name="oConnInfo">接入客戶端連接信息</param>[in]
        /// <param name="pvUserData">供回調(diào)函數(shù)使用的用戶數(shù)據(jù)</param>[in]
        /// <returns>NULL 初始化失敗 非NULL 初始化成功,返回一個連接句柄,給句柄將作為其他函數(shù)調(diào)用的參數(shù)</returns>
        [DllImport("mrapi.dll", EntryPoint = "MrInit1", CallingConvention = CallingConvention.StdCall, SetLastError = true, CharSet = CharSet.Ansi)]
        public static extern IntPtr MrInit1(string psUserCertID, string psAppID, string psPasswd, OnReceiveCallBack onReceive, STUConnInfo oConnInfo, IntPtr pvUserData);

        /// <summary>
        /// 3.連接FDAP時的初始化函數(shù)。該函數(shù)對FDEAPI進行初始化,分配獲取相關(guān)資源,并嘗試與接入客戶端建立通信連接
        /// </summary>
        /// <param name="pHandle">函數(shù)返回的句柄,該句柄將作為其他函數(shù)調(diào)用的參數(shù)</param>[out]
        /// <param name="psUserCertID">本應(yīng)用的用戶標識</param>[in]
        /// <param name="psAppID">本應(yīng)用的應(yīng)用標識</param>[in]
        /// <param name="psPasswd">本應(yīng)用在接入客戶端設(shè)置的密碼,密碼必須與預(yù)設(shè)的匹配才能繼續(xù)</param>[in]
        /// <param name="pMsgProperty">消息包屬性</param>[in]
        /// <param name="onReceive">接收到消息包時的回調(diào)函數(shù)</param>[in]
        /// <param name="oConnInfo">接入客戶端連接信息</param>[in]
        /// <param name="pvUserData">供回調(diào)函數(shù)使用的用戶數(shù)據(jù)</param>[in]
        /// <param name="iThreadCount">調(diào)用回頭函數(shù)OnReceive的線程數(shù)目</param>[in]
        /// <returns>無</returns>
        [DllImport("mrapi.dll", EntryPoint = "MrInit1Ex1", CallingConvention = CallingConvention.StdCall, SetLastError = true, CharSet = CharSet.Ansi)]
        public static extern IntPtr MrInit1Ex1(out IntPtr pHandle, string psUserCertID, string psAppID, string psPasswd, ref STUsgProperty pMsgProperty, OnReceiveCallBack onReceive, STUConnInfo oConnInfo, IntPtr pvUserData, int iThreadCount);

        /// <summary>
        /// 4.連接FDAP時的初始化函數(shù)。該函數(shù)對FDEAPI進行初始化,分配獲取相關(guān)資源,并嘗試與接入客戶端建立通信連接
        /// </summary>
        /// <param name="pHandle">函數(shù)返回的句柄,該句柄將作為其他函數(shù)調(diào)用的參數(shù)</param>[out]
        /// <param name="psAppID">本應(yīng)用的應(yīng)用標識</param>[in]
        /// <param name="psPassws">本應(yīng)用在接入客戶端設(shè)置的密碼,密碼必須與預(yù)設(shè)的匹配才能繼續(xù)</param>[in]
        /// <param name="pOnRecvMsgPropery">這是回調(diào)函數(shù)OnReceive的接收條件,如果不需要任何條件,則可以填NULL</param>[in]
        /// <param name="onReceive">接收到消息包時的回調(diào)函數(shù)</param>[in]
        /// <param name="pConnInfo">接入客戶端連接信息</param>[in]
        /// <param name="pvUserData">供回調(diào)函數(shù)使用的用戶數(shù)據(jù)</param>[in]
        /// <param name="iThreadCount">調(diào)用回頭函數(shù)OnReceive的線程數(shù)目</param>
        /// <returns>無</returns>
        [DllImport("mrapi.dll", EntryPoint = "MrInit2", CallingConvention = CallingConvention.StdCall, SetLastError = true, CharSet = CharSet.Ansi)]
        public static extern IntPtr MrInit2(out IntPtr pHandle, string psAppID, string psPassws, ref STUsgProperty pOnRecvMsgPropery, OnReceiveCallBack onReceive, ref STUConnInfo pConnInfo, IntPtr pvUserData, int iThreadCount);
        //void*  _stdcall MrInit2(void** ppHandle, const char* psAppID, const char* psAppPasswd, STUMsgProperty* pOnRecvMsgPropery,OnReceiveCallBack onReceive,const STUConnInfo* pConnInfo, void* pvUserData, int iThreadCount);

        /// <summary>
        /// 5.判斷與交換中樞的連接是否正常
        /// </summary>
        /// <param name="pHandle">連接句柄,調(diào)用MrInit時返回的值</param>
        /// <returns>0不正常 1正常</returns>
        [DllImport("mrapi.dll", EntryPoint = "MrIsLinkOK", CallingConvention = CallingConvention.StdCall, SetLastError = true, CharSet = CharSet.Ansi)]
        public static extern int MrIsLinkOK(IntPtr pHandle);
        //int  _stdcall MrIsLinkOK(void* pHandle)

        /// <summary>
        /// 6.消息包標識生成函數(shù)
        /// </summary>
        /// <param name="pHandle">連接句柄,調(diào)用MrInit時返回的值</param>[in]
        /// <param name="szPkgID">生成的消息包標識</param>[out]
        /// <returns>0 成功 其他 失敗</returns>
        [DllImport("mrapi.dll", EntryPoint = "MrCreatePkgID", CallingConvention = CallingConvention.StdCall, SetLastError = true, CharSet = CharSet.Ansi)]
        public static extern int MrCreatePkgID(IntPtr pHandle, StringBuilder szPkgID);
        //int _stdcall MrCreatePkgID(void* pHandle,char szPkgID[MR_MAXLEN_PKGID])

        /// <summary>
        /// 7.消息包發(fā)送函數(shù)
        /// </summary>
        /// <param name="pHandle">連接句柄,調(diào)用MrInit時返回的值</param>[in]
        /// <param name="psPkg">要發(fā)送的消息包緩沖區(qū)</param>[in]
        /// <param name="iPkgLen">緩沖區(qū)中的消息包長度</param>[in]
        /// <param name="pMsgPropery">消息包屬性</param>[in/out]
        /// <param name="iMillSecTimeo">以毫米為單位的接收最大超時時間</param>[in]
        /// <returns>0 成功 其他 失敗</returns>
        [DllImport("mrapi.dll", EntryPoint = "MrSend", CallingConvention = CallingConvention.StdCall, SetLastError = true, CharSet = CharSet.Ansi)]
        public static extern int MrSend(IntPtr pHandle, string psPkg, int iPkgLen, ref STUsgProperty pMsgPropery, int iMillSecTimeo);
        //int _stdcall MrSend(void* pHandle,const char* psPkg,int iPkgLen,STUsgProperty* pMsgPropery,int iMillSecTimeo);

        /// <summary>
        /// 8.消息包接收函數(shù)1
        /// </summary>
        /// <param name="pHandle">連接句柄,調(diào)用MrInit時返回的值</param>[in]
        /// <param name="ppsPkg">雙指針,返回包所指向的內(nèi)存</param>[out]
        /// <param name="piOutPkgLen">接收到消息包的實際長度</param>[out]
        /// <param name="pMsgPropery">接收條件</param>[in/out]
        /// <param name="iMillSecTimeo">以毫米為單位的接收最大超時時間</param>[in]
        /// <returns>0 成功 其他 失敗</returns>
        [DllImport("mrapi.dll", EntryPoint = "MrReceive1", CallingConvention = CallingConvention.StdCall, SetLastError = true, CharSet = CharSet.Ansi)]
        public static extern int MrReceive1(IntPtr pHandle, out IntPtr ppsPkg, out int piOutPkgLen, ref STUsgProperty pMsgPropery, int iMillSecTimeo);
        //int _stdcall MrReceive1(void* pHandle, char** ppsPkg, int* piOutPkgLen, STUMsgProperty* pMsgPropery, int iMillSecTimeo);

        /// <summary>
        /// 9.消息包內(nèi)存釋放函數(shù)
        /// </summary>
        /// <param name="psPkg">由MrReceivel1函數(shù)的第二個參數(shù)返回的指針</param>[in]
        /// <returns>無</returns>
        [DllImport("mrapi.dll", EntryPoint = "MrReceive1_FreeBuf", CallingConvention = CallingConvention.StdCall, SetLastError = true, CharSet = CharSet.Ansi)]
        public static extern IntPtr MrReceive1_FreeBuf(string psPkg);
        //void _stdcall MrReceive1_FreeBuf(char* psPkg);

        /// <summary>
        /// 10.消息包瀏覽函數(shù)
        /// </summary>
        /// <param name="pHandle">連接句柄,調(diào)用MrInit時返回的值</param>[in]
        /// <param name="piOutPkgLen">接收到消息包的實際長度</param>[out]
        /// <param name="pMsgPropery">接收條件</param>[in/out]
        /// <param name="iMillSecTimeo">以毫米為單位的接收最大超時時間</param>[in]
        /// <returns>0 成功 其他 失敗</returns>
        [DllImport("mrapi.dll", EntryPoint = "MrBrowse", CallingConvention = CallingConvention.StdCall, SetLastError = true, CharSet = CharSet.Ansi)]
        public static extern int MrBrowse(IntPtr pHandle, out int piOutPkgLen, ref STUsgProperty pMsgPropery, int iMillSecTimeo);
        //int _stdcall MrBrowse(void* pHandle,  int* piOutPkgLen, STUMsgProperty* pMsgPropery, int iMillSecTimeo);

        /// <summary>
        /// 11.消息包接收函數(shù)2
        /// </summary>
        /// <param name="pHandle">連接句柄,調(diào)用MrInit時返回的值</param>[in]
        /// <param name="ppsPkg">雙指針,返回包所指向的內(nèi)存</param>[out]
        /// <param name="piOutPkgLen">接收到消息包的實際長度</param>[out]
        /// <param name="iBufLenIn">消息包緩沖區(qū)大小</param>[out]
        /// <param name="pMsgPropery">接收條件</param>[in/out]
        /// <param name="iMillSecTimeo">以毫米為單位的接收最大超時時間</param>[in]
        /// <returns>0 成功 其他 失敗</returns>
        [DllImport("mrapi.dll", EntryPoint = "MrReceive2", CallingConvention = CallingConvention.StdCall, SetLastError = true, CharSet = CharSet.Ansi)]
        public static extern int MrReceive2(IntPtr pHandle, out IntPtr ppsPkg, out int piOutPkgLen, out int iBufLenIn, ref STUsgProperty pMsgPropery, int iMillSecTimeo);
        //int _stdcall MrReceive2(void* pHandle, char** ppsPkg, int* piOutPkgLen, int* iBufLenIn, STUMsgProperty* pMsgPropery, int iMillSecTimeo);

        /// <summary>
        /// 12.消息包接收函數(shù)3
        /// </summary>
        /// <param name="pHandle">連接句柄,調(diào)用MrInit時返回的值</param>[in]
        /// <param name="ppsPkg">雙指針,返回包所指向的內(nèi)存</param>[out]
        /// <param name="piOutPkgLen">接收到消息包的實際長度</param>[out]
        /// <param name="piErrSXCode">交換錯誤的原因碼</param>[out]
        /// <param name="pMsgPropery">接收條件</param>[in/out]
        /// <param name="iMillSecTimeo">以毫米為單位的接收最大超時時間</param>[in]
        /// <returns>0 成功 其他 失敗</returns>
        [DllImport("mrapi.dll", EntryPoint = "MrReceive3", CallingConvention = CallingConvention.StdCall, SetLastError = true, CharSet = CharSet.Ansi)]
        public static extern int MrReceive3(IntPtr pHandle, out IntPtr ppsPkg, out int piOutPkgLen, out int piErrSXCode, ref STUsgProperty pMsgPropery, int iMillSecTimeo);
        //int _stdcall MrReceive3(void* pHandle, char** ppsPkg, int* piOutPkgLen, int* piErrSXCode, STUMsgProperty* pMsgPropery, int iMillSecTimeo);

        /// <summary>
        /// 13.消息包接收函數(shù)4
        /// </summary>
        /// <param name="pHandle">連接句柄,調(diào)用MrInit時返回的值</param>[in]
        /// <param name="ppsPkg">雙指針,返回包所指向的內(nèi)存</param>[out]
        /// <param name="piOutPkgLen">接收到消息包的實際長度</param>[out]
        /// <param name="piErrSXCode">交換錯誤的原因碼</param>[out]
        /// <param name="pMsgPropery">接收條件</param>[in/out]
        /// <param name="iMillSecTimeo">以毫米為單位的接收最大超時時間</param>[in]
        /// <returns>0 成功 其他 失敗</returns>
        [DllImport("mrapi.dll", EntryPoint = "MrReceive4", CallingConvention = CallingConvention.StdCall, SetLastError = true, CharSet = CharSet.Ansi)]
        public static extern int MrReceive4(IntPtr pHandle, out IntPtr ppsPkg, out int piOutPkgLen, out int piErrSXCode, ref STUsgProperty pMsgPropery, int iMillSecTimeo);
        //int _stdcall MrReceive4(void* pHandle, char** ppsPkg, int* piOutPkgLen, int* piErrSXCode, STUMsgProperty* pMsgPropery, int iMillSecTimeo);

        /// <summary>
        /// 14.釋放資源
        /// </summary>
        /// <param name="pHandle">連接句柄,調(diào)用MrInit時返回的值</param>
        /// <returns>無</returns>
        [DllImport("mrapi.dll", EntryPoint = "MrDestroy", CallingConvention = CallingConvention.StdCall, SetLastError = true, CharSet = CharSet.Ansi)]
        public static extern IntPtr MrDestroy(IntPtr pHandle);
        //void _stdcall MrDestroy(void* pHandle)

        /// <summary>
        /// 15.取得本API的版本號
        /// </summary>
        /// <param name="psBufVersion">返回的版本號</param>
        /// <param name="iBufLen">版本號長度</param>
        /// <returns>無</returns>
        [DllImport("mrapi.dll", EntryPoint = "MrGetVersion", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
        public static extern IntPtr MrGetVersion(StringBuilder psBufVersion, int iBufLen);
        //void _stdcall MrGetVersion(char* psBufVersion,int iBufLen);

        /// <summary>
        /// 16.注冊包下推條件
        /// </summary>
        /// <param name="pHandle">連接句柄,調(diào)用MrInit時返回的值<</param>
        /// <param name="pMsgPropery">消息的結(jié)構(gòu)實體</param>
        /// <param name="iType">0 增加一個條件 1 刪除一個條件 2 清空所有條件</param>
        /// <returns>0 成功 其他 失敗</returns>
        [DllImport("mrapi.dll", EntryPoint = "MrRegRecvCondition", CallingConvention = CallingConvention.StdCall, SetLastError = true, CharSet = CharSet.Ansi)]
        public static extern int MrRegRecvCondition(IntPtr pHandle, ref STUsgProperty pMsgPropery, int iType);
        //int _stdcall MrRegRecvCondition(void* pHandle,STUMsgProperty* pMsgPropery,int iType);
        #endregion
    }
}

相關(guān)文章

  • C#中的事件介紹

    C#中的事件介紹

    這篇文章主要介紹了C#中的事件介紹,本文對C#事件的語法、定義方法、調(diào)用方法等做了講解,需要的朋友可以參考下
    2015-01-01
  • C#中的閉包使用詳解

    C#中的閉包使用詳解

    C#中的閉包是一個強大的概念,它允許函數(shù)捕獲外部變量并在函數(shù)外部訪問這些變量,閉包在很多場景下都非常有用,比如在匿名函數(shù)、Lambda表達式和委托中,在使用閉包時,我們需要注意變量捕獲的副作用、性能影響和內(nèi)存管理等問題,以確保代碼的正確性和性能
    2024-12-12
  • C#獲取并修改文件擴展名的方法

    C#獲取并修改文件擴展名的方法

    這篇文章主要介紹了C#獲取并修改文件擴展名的方法,實例分析了C#編程方式修改文件擴展名的技巧,涉及Path類的使用方法,需要的朋友可以參考下
    2015-04-04
  • C#圖像亮度調(diào)整的方法

    C#圖像亮度調(diào)整的方法

    這篇文章主要介紹了C#圖像亮度調(diào)整的方法,涉及C#操作圖像亮度的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • C# 如何使用 Index 和 Range 簡化集合操作

    C# 如何使用 Index 和 Range 簡化集合操作

    這篇文章主要介紹了C# 如何使用 Index 和 Range 簡化集合操作,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-02-02
  • C#使用xsd文件驗證XML格式是否正確的實現(xiàn)方法

    C#使用xsd文件驗證XML格式是否正確的實現(xiàn)方法

    這篇文章主要介紹了C#使用xsd文件驗證XML格式是否正確的實現(xiàn)方法,結(jié)合實例形式分析了C#針對xml文件的創(chuàng)建、驗證相關(guān)操作技巧,需要的朋友可以參考下
    2017-01-01
  • C#實現(xiàn)動態(tài)生成靜態(tài)頁面的類詳解

    C#實現(xiàn)動態(tài)生成靜態(tài)頁面的類詳解

    這篇文章主要介紹了C#實現(xiàn)動態(tài)生成靜態(tài)頁面的類,結(jié)合實例形式詳細分析了C#動態(tài)生成靜態(tài)頁面的原理與相關(guān)使用技巧,需要的朋友可以參考下
    2016-04-04
  • C#中調(diào)整圖像大小的步驟詳解

    C#中調(diào)整圖像大小的步驟詳解

    這篇文章主要介紹了C#中調(diào)整圖像大小的步驟詳解,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-05-05
  • Unity2D實現(xiàn)游戲回旋鏢

    Unity2D實現(xiàn)游戲回旋鏢

    這篇文章主要為大家詳細介紹了Unity2D實現(xiàn)游戲回旋鏢,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • C#觀察者模式(Observer Pattern)實例教程

    C#觀察者模式(Observer Pattern)實例教程

    這篇文章主要介紹了C#觀察者模式(Observer Pattern),主要以一個實例的形式講述了C#觀察者模式的實現(xiàn)過程,詳細講述了接口的定義、通知及動作的實現(xiàn)方法,需要的朋友可以參考下
    2014-09-09

最新評論

宁南县| 鄂托克旗| 昌图县| 巴东县| 盘锦市| 安阳市| 栾城县| 宾阳县| 兴和县| 京山县| 黄冈市| 克拉玛依市| 金湖县| 永春县| 和静县| 青川县| 江川县| 原平市| 临西县| 迭部县| 扶余县| 六盘水市| 山阳县| 广东省| 扎兰屯市| 玉树县| 姚安县| 盖州市| 弋阳县| 邢台县| 含山县| 青铜峡市| 信阳市| 临洮县| 依安县| 临猗县| 常德市| 玉溪市| 白沙| 榆社县| 七台河市|