日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

幫同事整理的 C# 調(diào)用 C 回調(diào)函數(shù)

 根的情義 2016-06-11

C# 調(diào)用 C 回調(diào)函數(shù)

  園子里有很多這樣的文章,我自己再寫一遍是因為一個同事問到我了,整理下來發(fā)給他順便也自己記下來,以后再有同事問 Copy 給他就 OK 了。

  C# 調(diào)用C 回調(diào)函數(shù)過程如下:

  1. 定義回調(diào)函數(shù)對應(yīng)的委托

1 [UnmanagedFunctionPointerAttribute(CallingConvention.StdCall, CharSet = CharSet.Ansi)] 2 public delegate void RealCallback(int hRealHandle, int dwDataType, IntPtr buffer, uint dwSize, IntPtr lpVoid);

  2. 參數(shù)定義為 Delegate

復(fù)制代碼
1 [DllImport(DvxSdkPath, EntryPoint = 'DVR_StartRealPlay', CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] 2 public static extern int StartRealPlay(int hUserHandle, Delegate callback);
復(fù)制代碼

  3. 創(chuàng)建一個委托的實例

1 private RealCallback realCallBack = null;

  4. 定義委托對應(yīng)的函數(shù)

復(fù)制代碼
1 private void RealCallbackFun(int hRealHandle, int dwDataType, IntPtr lpReal, uint dwSize, IntPtr lpVoid) 2 { 3 4 }
復(fù)制代碼

  5. 給委托賦值

1 realCallBack = RealCallbackFun;

  6. 使用委托

1 StartRealPlay(handle, realCallBack);

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多