欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
C#與C++之間類(lèi)型的對應
最近接觸WINAPI比較多,一直要查數據類(lèi)型間的對應關(guān)系,所以就轉載一下~
# Windows Data Type .NET Data Type
# BOOL, BOOLEAN Boolean or Int32
# BSTR String
# BYTE Byte
# CHAR Char
# DOUBLE Double
# DWORD Int32 or UInt32
# FLOAT Single
# HANDLE (and all other handle types, such as HFONT and HMENU) IntPtr, UintPtr or HandleRef
# HRESULT Int32 or UInt32
# INT Int32
# LANGID Int16 or UInt16
# LCID Int32 or UInt32
# LONG Int32
# LPARAM IntPtr, UintPtr or Object
# LPCSTR String
# LPCTSTR String
# LPCWSTR String
# LPSTR String or StringBuilder*
# LPTSTR String or StringBuilder
# LPWSTR String or StringBuilder
# LPVOID IntPtr, UintPtr or Object
# LRESULT IntPtr
# SAFEARRAY .NET array type
# SHORT Int16
# TCHAR Char
# UCHAR SByte
# UINT Int32 or UInt32
# ULONG Int32 or UInt32
# VARIANT Object
# VARIANT_BOOL Boolean
# WCHAR Char
# WORD Int16 or UInt16
# WPARAM IntPtr, UintPtr or Object
# 另: 在進(jìn)行string轉換時(shí),需要加入前綴[MarshalAs(UnmanagedType.LPStr)]lpdword 對應于 ref int
#
#
# C/C++ C#
# HANDLE, LPDWORD, LPVOID, void* IntPtr
# LPCTSTR, LPCTSTR, LPSTR, char*, const char*, Wchar_t*, LPWSTR String [in], StringBuilder [in, out]
# DWORD, unsigned long, Ulong UInt32, [MarshalAs(UnmanagedType.U4)]
# bool bool
# LP<struct> [In] ref <struct>
# SIZE_T uint
# LPDWORD out uint
# LPTSTR [Out] StringBuilder
# PULARGE_INTEGER out ulong
# WORD uInt16
# Byte, unsigned char byte
# Short Int16
# Long, int Int32
# float single
# double double
# NULL pointer IntPtr.Zero
# Uint Uint32
#
# C#調用DLL文件時(shí)參數對應表
# Wtypes.h中的非托管類(lèi)型 非托管 C語(yǔ)言類(lèi)型 托管類(lèi)名 說(shuō)明
# HANDLE void* System.IntPtr 32 位
# BYTE unsigned char System.Byte 8 位
# SHORT short System.Int16 16 位
# WORD unsigned short System.UInt16 16 位
# INT int System.Int32 32 位
# UINT unsigned int System.UInt32 32 位
# LONG long System.Int32 32 位
# BOOL long System.Int32 32 位
# DWORD unsigned long System.UInt32 32 位
# ULONG unsigned long System.UInt32 32 位
# CHAR char System.Char 用 ANSI 修飾。
# LPSTR char* System.String 或 System.StringBuilder 用 ANSI 修飾。
# LPCSTR Const char* System.String 或System.StringBuilder 用 ANSI 修飾。
# LPWSTR wchar_t* System.String 或System.StringBuilder 用 Unicode 修飾。
# LPCWSTR Const wchar_t* System.String 或System.StringBuilder 用 Unicode 修飾。
# FLOAT Float System.Single 32 位
# DOUBLE Double System.Double 64 位
#
# 習慣用C#寫(xiě)東西,但平時(shí)又會(huì )碰到很多要用win32 API的地方,所以經(jīng)常要用DllImport,但win32函數的類(lèi)型寫(xiě)法是很龐雜的,相信為之困擾的不止我一個(gè),現在我整理一份我個(gè)人的理解如下,希望高人不吝賜教。
# 我的基本原則有如下幾點(diǎn):
# 1、下面都是針對32位系統的,所以int是32位.long也是32位;
# 2、各種句柄類(lèi)的(H開(kāi)頭),我認為一律是System.IntPtr,到目前為止沒(méi)發(fā)現出錯;如果哪位在使用中出錯,請指出;
# 3、LP和P,我實(shí)在不懂(對C 不太了解),對于LP和P開(kāi)頭的函數,如果是和STR有關(guān)的,一律寫(xiě)為System.String,像PLCID這樣指向什么東西的,寫(xiě)為 System.UInt32(因為指向另一個(gè)地址,那就是指針,指針是32位吧),int之類(lèi)的數值型,那我就寫(xiě)為int[],以方便.net程序引用 (寫(xiě)成System.UInt32的話(huà),給API調用應該也不會(huì )出錯,但.net程序就不好引用了)
# 如有意見(jiàn),歡迎指教。謝謝
# BOOL=System.Int32
# BOOLEAN=System.Int32
# BYTE=System.UInt16
# CHAR=System.Int16
# COLORREF=System.UInt32
# DWORD=System.UInt32
# DWORD32=System.UInt32
# DWORD64=System.UInt64
# FLOAT=System.Float
# HACCEL=System.IntPtr
# HANDLE=System.IntPtr
# HBITMAP=System.IntPtr
# HBRUSH=System.IntPtr
# HCONV=System.IntPtr
# HCONVLIST=System.IntPtr
# HCURSOR=System.IntPtr
# HDC=System.IntPtr
# HDDEDATA=System.IntPtr
# HDESK=System.IntPtr
# HDROP=System.IntPtr
# HDWP=System.IntPtr
# HENHMETAFILE=System.IntPtr
# HFILE=System.IntPtr
# HFONT=System.IntPtr
# HGDIOBJ=System.IntPtr
# HGLOBAL=System.IntPtr
# HHOOK=System.IntPtr
# HICON=System.IntPtr
# HIMAGELIST=System.IntPtr
# HIMC=System.IntPtr
# HINSTANCE=System.IntPtr
# HKEY=System.IntPtr
# HLOCAL=System.IntPtr
# HMENU=System.IntPtr
# HMETAFILE=System.IntPtr
# HMODULE=System.IntPtr
# HMONITOR=System.IntPtr
# HPALETTE=System.IntPtr
# HPEN=System.IntPtr
# HRGN=System.IntPtr
# HRSRC=System.IntPtr
# HSZ=System.IntPtr
# HWINSTA=System.IntPtr
# HWND=System.IntPtr
# INT=System.Int32
# INT32=System.Int32
# INT64=System.Int64
# LONG=System.Int32
# LONG32=System.Int32
# LONG64=System.Int64
# LONGLONG=System.Int64
# LPARAM=System.IntPtr
# LPBOOL=System.Int16[]
# LPBYTE=System.UInt16[]
# LPCOLORREF=System.UInt32[]
# LPCSTR=System.String
# LPCTSTR=System.String
# LPCVOID=System.UInt32
# LPCWSTR=System.String
# LPDWORD=System.UInt32[]
# LPHANDLE=System.UInt32
# LPINT=System.Int32[]
# LPLONG=System.Int32[]
# LPSTR=System.String
# LPTSTR=System.String
# LPVOID=System.UInt32
# LPWORD=System.Int32[]
# LPWSTR=System.String
# LRESULT=System.IntPtr
# PBOOL=System.Int16[]
# PBOOLEAN=System.Int16[]
# PBYTE=System.UInt16[]
# PCHAR=System.Char[]
# PCSTR=System.String
# PCTSTR=System.String
# PCWCH=System.UInt32
# PCWSTR=System.UInt32
# PDWORD=System.Int32[]
# PFLOAT=System.Float[]
# PHANDLE=System.UInt32
# PHKEY=System.UInt32
# PINT=System.Int32[]
# PLCID=System.UInt32
# PLONG=System.Int32[]
# PLUID=System.UInt32
# PSHORT=System.Int16[]
# PSTR=System.String
# PTBYTE=System.Char[]
# PTCHAR=System.Char[]
# PTSTR=System.String
# PUCHAR=System.Char[]
# PUINT=System.UInt32[]
# PULONG=System.UInt32[]
# PUSHORT=System.UInt16[]
# PVOID=System.UInt32
# PWCHAR=System.Char[]
# PWORD=System.Int16[]
# PWSTR=System.String
# REGSAM=System.UInt32
# SC_HANDLE=System.IntPtr
# SC_LOCK=System.IntPtr
# SHORT=System.Int16
# SIZE_T=System.UInt32
# SSIZE_=System.UInt32
# TBYTE=System.Char
# TCHAR=System.Char
# UCHAR=System.
# Wtypes.h 中的非托管類(lèi)型 非托管 C 語(yǔ)言類(lèi)型 托管類(lèi)名 說(shuō)明
# HANDLE void* System.IntPtr 在 32 位 Windows 操作系統上為 32 位,在 64 位 Windows 操作系統上為 64 位。
# BYTE unsigned char System.Byte 8 位
# SHORT short System.Int16 16 位
# WORD unsigned short System.UInt16 16 位
# INT int System.Int32 32 位
# UINT unsigned int System.UInt32 32 位
# LONG long System.Int32 32 位
# BOOL long System.Int32 32 位
# DWORD unsigned long System.UInt32 32 位
# ULONG unsigned long System.UInt32 32 位
# CHAR char System.Char 用 ANSI 修飾。
# LPSTR char* System.String 或 System.Text.StringBuilder 用 ANSI 修飾。
# LPCSTR Const char* System.String 或 System.Text.StringBuilder 用 ANSI 修飾。
# LPWSTR wchar_t* System.String 或 System.Text.StringBuilder 用 Unicode 修飾。
# LPCWSTR Const wchar_t* System.String 或 System.Text.StringBuilder 用 Unicode 修飾。
# FLOAT Float System.Single 32 位
# DOUBLE Double System.Double 64 位
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
C#和C++下數據類(lèi)型對應表
C# 嘗試讀取或寫(xiě)入受保護的內存,這通常指示其他內存已損壞。錯誤類(lèi)型為:System.AccessViolationException。
C#動(dòng)態(tài)調用C++編寫(xiě)的DLL函數
C#與C++數據類(lèi)型比較及結構體轉換[整理]
c和c#托管與非托管代碼中變量對應
C#調用windows API的一些方法
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久