亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#使用DllImport調用非托管的代碼的方法

2020-01-24 03:33:09
字體:
來源:轉載
供稿:網友

找到GetShortPathName的方法簽名,

DWORD GetShortPathName(LPCTSTR tpszLongPath,TPTSTR lpszShortPath,DWORD cchBuffer);

非托管及托管數據類型對應關系:

LPCTSTR         String

LPTSTR           StringBuilder

DWORD          int

DllImport的導入規則:

1、方法名與Win API完全一樣。如果在C#中調用時顯示完全不同的方法名稱,則需要引入EntryPoint屬性,使用別名顯示。

2、函數除需要DllImport類修飾符外,還需要聲明public static extern類型。

3、函數返回值和參數必須和調用的API的完全一樣。

4、必須引入System.Runtime.InteropServices命名空間。

代碼:

復制代碼 代碼如下:

using System.Runtime.InteropServices;

public class Test

        {

            [DllImport("kernel32.dll",CharSet=CharSet.Auto,EntryPoint="GetShort")]

public static extern int GetShortPathName(

                [MarshalAs(UnmanagedType.LPTStr)] String path,

                [MarshalAs(UnmanagedType.LPTStr)] StringBuilder shortPath,

int shortPathLength);

        }


代碼調用中kernel32.dll的路徑之所以沒寫是因為DllImport會按照以下三種順序查找Dll:

1、exe所在目錄;2、System32目錄;3、環境變量目錄。

MarshalAs為可選類型,因為每個數據類型都有默認的封送行為,該屬性指示如何在托管代碼和非托管代碼之間的封送數據,可將該屬性用于參數、字段和返回值。大多數情況下該屬性只是用UnmanagedType枚舉類型就能滿足大多數非托管的數據類型,如默認情況下字符會被當作BStr傳入到Dll中,可以使用MarshalAs將字符串指定為LPTStr、LPWStr或LPStr等。

DllImport可選屬性解釋

EntryPoint             可對方法采用不同的名稱,使用別名

CharSet                  函數調用使用Unicode還是Ansi

ExactSpelling        False,表示讓編譯器自己選擇使用Unicode或Ansi

CallingConvetnion             它的參數指示入口點調用的約定;不指定默認為CallingConvention.WinAPI

PreserveSig                    指示方法簽名應當被保留還是被轉換,當被轉換時它被轉換為一個具有HRESULT返回值和該返回值的一個名為retval的附加輸出參數的簽名,默認為true。

SetLastError                   指定是否保留上一次錯誤,默認為false

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美三级免费观看| 精品久久久香蕉免费精品视频| 国产欧美精品一区二区三区介绍| 国产激情综合五月久久| 日韩欧美在线播放| 91亚洲精品一区二区| 欧美成年人视频网站| 国产91成人video| 亚洲免费一级电影| 国产精品av电影| 精品国产一区二区三区久久| 欧美精品激情在线| 欧美一区二区三区精品电影| 亚洲乱码一区av黑人高潮| 国产999精品视频| 欧美日韩高清在线观看| 中文字幕日韩精品有码视频| 91精品视频一区| 久久久久久久久亚洲| 国产97色在线| 乱亲女秽乱长久久久| 亚洲欧美在线免费观看| 色老头一区二区三区在线观看| 欧美日韩免费区域视频在线观看| 亚洲精品永久免费精品| 日韩小视频在线| 成人av番号网| 免费成人高清视频| 欧美激情免费在线| 亚洲成人xxx| 国产97人人超碰caoprom| 久热精品在线视频| 欧美激情极品视频| 欧美精品手机在线| 国模gogo一区二区大胆私拍| 欧美一区二三区| 亚洲第一av在线| 欧美成人午夜免费视在线看片| 亚洲美女久久久| 亚洲区免费影片| 亚洲男女性事视频| 国产精品扒开腿爽爽爽视频| 欧美另类极品videosbestfree| 亚洲精品中文字幕有码专区| 色偷偷91综合久久噜噜| 日韩女优人人人人射在线视频| 国产成人精品视频在线| 欧美高清无遮挡| 日韩视频免费中文字幕| 日韩av电影手机在线观看| 亚洲**2019国产| 国产一区二区香蕉| 欧美日韩国产精品| 亚洲18私人小影院| 91午夜理伦私人影院| 在线国产精品播放| 免费av一区二区| 日本精品视频在线观看| 大胆欧美人体视频| 日韩经典一区二区三区| 国产视频综合在线| 欧美最猛黑人xxxx黑人猛叫黄| 狠狠综合久久av一区二区小说| 欧美亚洲国产视频| 日韩国产精品一区| 91亚洲精品久久久久久久久久久久| 国产精品福利小视频| 色无极影院亚洲| 青草青草久热精品视频在线观看| 成人动漫网站在线观看| 欧美亚洲视频一区二区| 国产精品亚洲网站| 欧美激情精品久久久久久蜜臀| 国产精品精品视频一区二区三区| 在线视频日本亚洲性| 欧美极品在线播放| 日韩精品中文字幕在线| 成人免费视频a| 亚洲一区亚洲二区| 青青草原成人在线视频| 久久网福利资源网站| 日韩精品免费在线观看| 姬川优奈aav一区二区| 欧美国产视频一区二区| 51精品国产黑色丝袜高跟鞋| 高跟丝袜一区二区三区| 亚洲精品国产综合区久久久久久久| 国产精品视频一区国模私拍| 亚洲小视频在线| 亚洲自拍偷拍福利| 精品福利视频导航| 亚洲男女性事视频| 欧美极品少妇xxxxⅹ裸体艺术| 色噜噜久久综合伊人一本| 午夜精品99久久免费| 日韩中文字幕网| 久久999免费视频| 91久久在线播放| 亚洲毛片一区二区| 69久久夜色精品国产69乱青草| 欧美视频在线视频| 日韩免费视频在线观看| 久久精品一偷一偷国产| 亚洲影院在线看| 欧美激情奇米色| 夜夜狂射影院欧美极品| 精品丝袜一区二区三区| 神马久久桃色视频| 97视频国产在线| 97精品国产91久久久久久| 日韩综合视频在线观看| 欧美午夜xxx| 欧美xxxx做受欧美| 不用播放器成人网| 国产成人在线视频| 在线播放日韩精品| 久久久久久久999| 国产综合福利在线| 欧美日韩美女视频| 在线观看国产欧美| 成人观看高清在线观看免费| 欧美一级视频一区二区| 成人免费自拍视频| 国产精品美女呻吟| 狠狠色狠狠色综合日日小说| 国产精品第七十二页| 一个人看的www久久| 欧美视频专区一二在线观看| 97视频在线观看免费高清完整版在线观看| 亚洲国产成人久久综合| 日韩免费观看在线观看| 亚洲午夜色婷婷在线| 成人精品在线视频| 米奇精品一区二区三区在线观看| 欧美一区在线直播| 92国产精品久久久久首页| 亚洲欧美色婷婷| 91国偷自产一区二区三区的观看方式| 日韩暖暖在线视频| 奇门遁甲1982国语版免费观看高清| www国产91| 91国产精品电影| 69av视频在线播放| 精品久久久久久久久久| 精品国内产的精品视频在线观看| 国产一区二区精品丝袜| 91精品国产91久久久久久不卡| 精品激情国产视频| 精品国产老师黑色丝袜高跟鞋| 播播国产欧美激情| 欧美黑人又粗大| 久久99精品视频一区97| 国产91|九色| 亚洲国模精品一区| 欧美视频免费在线观看| 亚洲**2019国产| 国产精品视频999| 亚洲第一av在线| 精品国产欧美成人夜夜嗨| 久国内精品在线| 97视频在线观看亚洲| 欧美一级大片视频| 亚洲欧美在线看| 国产精品99久久久久久白浆小说|