精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C#聲明COM接口淺談

開發 后端
這里介紹C#聲明COM接口必須包含其基接口的所有成員的聲明,IUnknown 和 IDispatch 的成員除外(.NET 框架將自動添加這些成員)。

學習C#語言時,經常會遇到C#聲明COM接口問題,這里將介紹C#聲明COM接口問題的解決方法。

COM 接口在 C# 中表示為具有 ComImport 和 Guid 屬性的接口。它不能在其基接口列表中包含任何接口,而且必須按照方法在 COM 接口中出現的順序聲明接口成員函數。

C#聲明COM接口必須包含其基接口的所有成員的聲明,IUnknown 和 IDispatch 的成員除外(.NET 框架將自動添加這些成員)。從 IDispatch 派生的 COM 接口必須用 InterfaceType 屬性予以標記。

從 C# 代碼調用 COM 接口方法時,公共語言運行庫必須封送與 COM 對象之間傳遞的參數和返回值。對于每個 .NET 框架類型均有一個默認類型,公共語言運行庫將使用此默認類型在 COM 調用間進行封送處理時封送。例如,C# 字符串值的默認封送處理是封送到本機類型 LPTSTR(指向 TCHAR 字符緩沖區的指針)。可以在C#聲明COM接口中使用 MarshalAs 屬性重寫默認封送處理。

在 COM 中,返回成功或失敗的常用方法是返回一個 HRESULT,并在 MIDL 中有一個標記為"retval"、用于方法的實際返回值的 out 參數。在 C#(和 .NET 框架)中,指示已經發生錯誤的標準方法是引發異常。

默認情況下,.NET 框架為由其調用的 COM 接口方法在兩種異常處理類型之間提供自動映射。返回值更改為標記為 retval 的參數的簽名(如果方法沒有標記為 retval 的參數,則為 void)。標記為 retval 的參數從方法的參數列表中剝離。任何非成功返回值都將導致引發 System.COMException 異常。此示例顯示用 MIDL 聲明的 COM 接口以及用 C# 聲明的同一接口(注意這些方法使用 COM 錯誤處理方法)。

下面是一個使用C# 映射媒體播放機COM 對象的程序。

  1. using System;  
  2. using System.Runtime.InteropServices;  
  3. namespace QuartzTypeLib  
  4. {  
  5. //聲明一個COM接口 IMediaControl,此接口來源于媒體播放機COM類  
  6. [Guid("56A868B1-0AD4-11CE-B03A-0020AF0BA770"),  
  7. InterfaceType(ComInterfaceType.InterfaceIsDual)]  
  8. interface IMediaControl  
  9. { //列出接口成員  
  10. void Run();  
  11. void Pause();  
  12. void Stop();  
  13. void GetState( [In] int msTimeout, [Out] out int pfs);  
  14. void RenderFile(  
  15. [In, MarshalAs(UnmanagedType.BStr)] string strFilename);  
  16. void AddSourceFilter(  
  17. [In, MarshalAs(UnmanagedType.BStr)] string strFilename,  
  18. [Out, MarshalAs(UnmanagedType.Interface)]  
  19. out object ppUnk);  
  20. [return: MarshalAs(UnmanagedType.Interface)]  
  21. object FilterCollection();  
  22. [return: MarshalAs(UnmanagedType.Interface)]  
  23. object RegFilterCollection();  
  24. void StopWhenReady();  
  25. }  
  26. //聲明一個COM類:  
  27. [ComImport, Guid("E436EBB3-524F-11CE-9F53-0020AF0BA770")]  
  28. class FilgraphManager //此類不能再繼承其它基類或接口  
  29. {  
  30. //這里不能有任何代碼 ,系統自動增加一個缺省的構造函數  
  31. }  
  32. }  
  33. class MainClass  
  34. {  
  35. public static void Main(string[] args)  
  36. {  
  37. //命令行參數:  
  38. if (args.Length != 1)  
  39. {  
  40. DisplayUsage();  
  41. return;  
  42. }  
  43. String filename = args[0];  
  44. if (filename.Equals("/?"))  
  45. {  
  46. DisplayUsage();  
  47. return;  
  48. }  
  49. // 聲明FilgraphManager的實類對象:  
  50. QuartzTypeLib.FilgraphManager graphManager =new QuartzTypeLib.FilgraphManager();  
  51. //聲明IMediaControl的實類對象::  
  52. QuartzTypeLib.IMediaControl mc =(QuartzTypeLib.IMediaControl)graphManager;  
  53. // 調用COM的方法:  
  54. mc.RenderFile(filename);  
  55. //運行文件.  
  56. mc.Run();  
  57. //暫借停.  
  58. Console.WriteLine("Press Enter to continue.");  
  59. Console.ReadLine();  
  60. }  
  61. private static void DisplayUsage()  
  62. { // 顯示  
  63. Console.WriteLine("媒體播放機: 播放 AVI 文件.");  
  64. Console.WriteLine("使用方法: VIDEOPLAYER.EXE 文件名");  
  65. }  
  66. }  
  67. 運行示例:  
  68. 若要顯示影片示例 Clock.avi,請使用以下命令:  
  69. interop2 %windir%\clock.avi  
  70. 這將在屏幕上顯示影片,直到按 ENTER 鍵停止。  
  71. 在 .NET 框架程序中通過DllImport使用 Win32 API  
  72. .NET 框架程序可以通過靜態 DLL 入口點的方式來訪問本機代碼庫。
    DllImport 屬性用于指定包含外部方法的實現的dll 位置  
  73. DllImport 屬性定義如下:  
  74. namespace System.Runtime.InteropServices  
  75. {  
  76. [AttributeUsage(AttributeTargets.Method)]  
  77. public class DllImportAttribute: System.Attribute  
  78. {  
  79. public DllImportAttribute(string dllName) {...}  
  80. public CallingConvention CallingConvention;  
  81. public CharSet CharSet;  
  82. public string EntryPoint;  
  83. public bool ExactSpelling;  
  84. public bool PreserveSig;  
  85. public bool SetLastError;  
  86. public string Value { get {...} }  
  87. }  

【編輯推薦】

  1. C# this關鍵字詳解
  2. C#調用析構方法詳解
  3. C#釋放托管資源簡單描述
  4. C#單路代理簡單分析
  5. C#文法產生式概述
責任編輯:佚名 來源: 博客園
相關推薦

2009-08-14 17:58:05

C#接口方法

2009-08-11 10:12:21

2009-08-10 10:04:25

C#抽象類C#接口

2009-08-10 14:03:08

C# COM接口

2009-02-05 15:32:23

接口委托

2009-09-02 14:14:44

C# COM接口轉換

2011-09-21 10:56:31

C#結構

2009-08-20 18:30:33

C# ReaderWr

2009-08-20 10:24:52

C#開發WinForm

2009-08-26 15:46:01

C#匿名類型

2009-09-02 15:41:21

C# HTTPWebR

2009-08-26 13:15:38

C#選擇控制

2009-08-25 16:16:43

C# oledbcon

2009-08-06 15:30:23

C#類型系統

2009-08-12 11:24:25

C# String對象

2009-08-31 09:37:09

C# Employee

2009-08-07 11:26:53

C#數組結構

2009-08-19 17:12:18

C# Connecti

2009-08-24 09:55:26

C#接口轉換

2009-08-24 11:02:52

C#接口映射
點贊
收藏

51CTO技術棧公眾號

亚洲国产天堂av| 波多野结衣三级在线| 激情五月色婷婷| 国产在视频线精品视频www666| 欧美亚洲自拍偷拍| 一级黄色片播放| 日韩在线视频免费| 免费av网站大全久久| 欧美精品日韩www.p站| 超碰97在线资源站| 亚洲国产aⅴ精品一区二区三区| 一区二区成人在线| 日本欧美色综合网站免费| 国产乱码精品一区二区| 国产伦理一区| 久久伊人色综合| 亚洲av无码成人精品国产| 欧美在线se| 欧美日韩国产一区二区| 蜜臀在线免费观看| 可以免费看污视频的网站在线| 国产在线乱码一区二区三区| 欧美中文字幕在线| 免费一级肉体全黄毛片| 日韩中字在线| 亚洲欧美成人一区二区在线电影| 波多野结衣电影免费观看| 亚洲成人激情社区| 欧美日韩激情视频| 国产在线无码精品| 午夜在线免费观看视频| 久久久精品蜜桃| 国产尤物99| 亚洲精品国产一区二| 国产在线看一区| 国产精品一区二区三区久久| 国产一级在线观看视频| 久久久久久久久丰满| 国产亚洲精品高潮| 亚洲国产果冻传媒av在线观看| 国产精品亚洲一区二区在线观看| 欧美亚洲高清一区| av观看免费在线| 亚洲电影观看| 性做久久久久久| 被灌满精子的波多野结衣| 自由的xxxx在线视频| 1024成人网| 自拍视频一区二区三区| 成人精品一区二区三区免费 | www.午夜av| 亚洲精品555| 欧美亚洲丝袜传媒另类| 一级黄色香蕉视频| 日韩在线免费| 欧美亚洲免费在线一区| 亚洲77777| 热久久久久久| 欧美一区二区黄| xxxx国产视频| 精品国产导航| 亚洲女人被黑人巨大进入| 国产伦精品一区二区三区妓女| 精品综合久久88少妇激情| 亚洲国产成人爱av在线播放| 成人在线视频免费播放| 色先锋久久影院av| 亚洲丝袜在线视频| 污污视频网站在线免费观看| 国产精品99视频| 欧美福利小视频| 日产亚洲一区二区三区| 免播放器亚洲| 国产成人精品一区| 一女二男一黄一片| 国产麻豆精品久久一二三| 高清视频一区二区三区| 色视频在线观看免费| 国产日韩欧美一区二区三区乱码 | 欧美人妻一区二区三区| 欧美色网址大全| 久久久国产成人精品| av一本久道久久综合久久鬼色| 亚洲精品中文字幕有码专区| 中文字幕av久久爽一区| 色综合狠狠操| 久久久久久久97| 无码人妻丰满熟妇精品| 久久 天天综合| 国产伦精品一区二区三区视频黑人 | 国产黄色大片在线观看| 好吊成人免视频| 亚洲欧美久久久久| 大奶一区二区三区| 在线精品国产欧美| 日韩影院一区二区| 麻豆久久婷婷| 99在线视频首页| 黄色片视频在线观看| 中文字幕日韩精品一区| 久久成人免费观看| www一区二区三区| 精品无码久久久久久国产| 中文字幕求饶的少妇| 亚洲美女网站| 91在线免费观看网站| 亚洲av成人无码久久精品老人 | 理论片日本一区| 亚洲aⅴ男人的天堂在线观看| 无码国产精品一区二区色情男同 | 亚洲欧美日韩久久久久久| 男女做暖暖视频| 日韩电影一区二区三区四区| 国产精品xxxx| 日本不卡在线| 欧美性猛交xxxx乱大交| 韩国一区二区三区四区| 久久精品国产68国产精品亚洲| 性欧美长视频免费观看不卡| 97超视频在线观看| 91啦中文在线观看| 4444亚洲人成无码网在线观看| 日日av拍夜夜添久久免费| 精品少妇一区二区三区免费观看| 波兰性xxxxx极品hd| 亚洲欧美久久| 精品蜜桃传媒| 岛国av免费在线观看| 日韩亚洲电影在线| 国产黄a三级三级| 日本欧美韩国一区三区| 三级在线观看一区二区| 成人免费xxxxx在线观看| 黄色av网站在线| 狠狠做深爱婷婷久久综合一区| 精品国产aⅴ一区二区三区东京热| 99精品视频在线| 国产精欧美一区二区三区| 日韩一二三四| 精品国产乱码久久久久久虫虫漫画| 久久久久亚洲av无码麻豆| 午夜精品久久久久久久四虎美女版| 国产精品黄色av| 久久天堂电影| 一本一道久久a久久精品综合蜜臀| 国产艳妇疯狂做爰视频| 欧美区日韩区| 国产欧美日韩一区| heyzo高清中文字幕在线| 亚洲成人三级在线| 国产精品成人久久| 成人动漫一区二区三区| 国产人妻777人伦精品hd| 国内精品麻豆美女在线播放视频 | 欧美日韩亚洲国产| 国产午夜精品美女视频明星a级| 成人毛片一区二区三区| 中文字幕精品综合| 国产精品久久久毛片| 欧美成人精品一区二区三区在线看| 91精品久久久久久久久久久久久久| 91激情在线| 6080午夜不卡| 中文字幕av免费在线观看| 国产成人精品免费一区二区| 黄色一级片在线看| 一道在线中文一区二区三区| 国产91九色视频| 91在线网址| 欧美一级艳片视频免费观看| 久久久99精品| 91免费看视频| 国产性天天综合网| 白白操在线视频| 老司机精品在线| 国产成人精品电影久久久| yw视频在线观看| 日韩一区二区在线播放| 亚洲精品国产精品乱码| 欧美极品美女视频| 无人码人妻一区二区三区免费| 亚洲三级免费| 神马欧美一区二区| 日韩激情欧美| 欧美亚洲日本网站| 91在线品视觉盛宴免费| 日韩欧美一二三区| 五月婷婷亚洲综合| 中文字幕亚洲精品在线观看| v天堂中文在线| 美国欧美日韩国产在线播放| 日韩极品视频在线观看| 激情婷婷综合| 国产精品.com| 国产伊人久久| 91成人在线观看国产| 久久99精品久久| 日韩成人在线视频| 一炮成瘾1v1高h| 五月综合激情婷婷六月色窝| 精品在线观看一区| 99国产精品国产精品久久| 全亚洲最色的网站在线观看| 91网站免费入口| 久久超级碰视频| 国产成人精品视频免费看| 欧美独立站高清久久| 久久综合中文色婷婷| 精品久久亚洲| 国产精品久久国产精品99gif| 牛牛电影国产一区二区| 一夜七次郎国产精品亚洲| 人妻与黑人一区二区三区| 欧美日韩成人在线| 日韩熟女一区二区| 亚洲国产精品视频| 国产成人av免费在线观看| 国产偷国产偷亚洲高清人白洁| 中文字幕人妻熟女人妻a片| 蜜桃一区二区三区在线| 夫妻免费无码v看片| 欧美日韩综合| 亚洲第一精品区| 欧美综合在线视频观看| 精品在线视频一区二区| 中文字幕一区日韩精品 | www.射射射| 91精品一区二区三区综合| 日韩av在线电影观看| 林ゆな中文字幕一区二区| 91久久国产综合久久蜜月精品| 精品日本视频| 国产不卡av在线| 波多野结衣亚洲| 97视频在线观看亚洲| 好久没做在线观看| 九九热这里只有精品6| 久久五月精品| 精品国产欧美一区二区三区成人| 国产中文字幕在线视频| 亚洲欧美国产制服动漫| 亚洲欧美日韩免费| 亚洲成人黄色网址| 午夜久久久久久噜噜噜噜| 欧美一区二区三区四区在线观看| 亚洲系列第一页| 欧美日产在线观看| 91精品国产乱码久久| 欧美日韩三级在线| 亚洲午夜激情视频| 欧美日韩精品三区| 91精品国产色综合久久不8| 欧美色图天堂网| 日韩精品 欧美| 日本亚洲精品| www.欧美精品| 成视频免费观看在线看| 久久精品国产视频| 国产午夜精品久久久久免费视| 久久久久999| 污污网站在线观看| 久久青草福利网站| 女人高潮被爽到呻吟在线观看| 2019精品视频| 另类专区亚洲| 国产欧美精品在线| 成人日韩视频| 国产精品我不卡| 国产精品一国产精品| 夜夜爽99久久国产综合精品女不卡 | 久久伊人成人网| 天天影视网天天综合色在线播放| 四虎成人在线观看| 欧美日韩在线直播| 国产日韩在线观看一区| 精品国产免费人成电影在线观看四季 | 欧美精品一区二| 美女欧美视频在线观看免费| 中文字幕久久精品| 欧美1234区| 欧美在线视频播放| 久久精品97| 亚洲最大av在线| 亚欧日韩另类中文欧美| 亚洲一卡二卡三卡| 精品动漫一区| 国产精品久久久久9999小说| 国内不卡的二区三区中文字幕| 扒开伸进免费视频| 国产欧美一区二区三区鸳鸯浴| 人人澡人人澡人人看| 精品国产电影一区| 亚洲午夜激情视频| 日韩电视剧免费观看网站| 在线观看av黄网站永久| 97av在线播放| 国产精品777777在线播放| 好看的日韩精品| 99精品视频精品精品视频| 无码中文字幕色专区| 日韩国产在线观看| 日韩欧美中文在线视频| av不卡在线播放| 亚洲精品一区二区三区在线播放| 亚洲一区二区三区精品在线| 一级片免费观看视频| 亚洲精品二三区| 成人日韩欧美| 国产成人一区二区三区电影| 伊人久久影院| 亚洲精品成人自拍| 国产视频亚洲| 国产精品偷伦视频免费观看了| 国产欧美一区二区三区在线看蜜臀| 精品无码人妻一区二区三| 精品视频123区在线观看| 水莓100在线视频| 精品国产欧美一区二区三区成人| 精品国产第一福利网站| 国产精品视频免费观看| 婷婷激情综合| 欧美一级特黄a| 久久综合色鬼综合色| 九九九国产视频| 日韩免费一区二区| 国产精品实拍| 国产精品欧美一区二区三区奶水| 香蕉久久精品| 国产素人在线观看| 成熟亚洲日本毛茸茸凸凹| 黄视频网站免费看| 欧美日韩高清不卡| av免费在线一区二区三区| 国产97色在线|日韩| 丝袜连裤袜欧美激情日韩| 日韩美女爱爱视频| 国产精品1024| 少妇久久久久久被弄高潮| 91麻豆精品国产91久久久使用方法 | 97视频在线观看免费高清完整版在线观看 | 欧美女孩性生活视频| 毛片免费在线播放| 欧美中文在线字幕| 亚洲人挤奶视频| 久久精品.com| 久久久久久夜精品精品免费| 久久久久久久久影院| 亚洲国产成人在线播放| a国产在线视频| 久久精品国产第一区二区三区最新章节| 国产精品a久久久久| 亚洲成a人无码| 亚洲国产欧美在线| 四虎精品一区二区三区| 国产91对白在线播放| 伊人久久大香线蕉综合网蜜芽| 日本久久久精品视频| 国产三级欧美三级| 亚洲一卡二卡在线观看| 久久久精品电影| 成人搞黄视频| 漂亮人妻被中出中文字幕| 久久午夜色播影院免费高清| 精品久久久久久久久久久国产字幕| 亚洲人高潮女人毛茸茸| 国产亚洲欧美日韩精品一区二区三区 | 国产经典一区二区三区| 在线精品一区二区| 特级西西人体wwwww| 欧美综合一区二区| 黄色动漫在线观看| 成人动漫视频在线观看完整版| 亚洲日本黄色| 久久久久久国产免费a片| 制服丝袜亚洲色图| 888av在线视频| 欧美一二三区| 国产精品综合视频| 国产成人免费观看视频| 永久免费看mv网站入口亚洲| 成人国产精品久久| 免费一级特黄毛片| 久久精品一区二区三区四区| 国产精品天天操| 久久久久久久久爱| 欧美激情免费| 欧美日韩国产影院| 亚洲精品视频专区| 国产国产精品人在线视| 亚洲xxx拳头交| 黄色国产在线观看| 51精品视频一区二区三区| 多野结衣av一区| 亚洲一区二区在| av一本久道久久综合久久鬼色| 中文字幕欧美在线观看| 国内精品视频久久| 色天天久久综合婷婷女18| 深田咏美中文字幕| 欧美日韩一区二区电影|