- 热门文章:
- · 实战 .Net 数据访问层 - 1
- · 基于.Net的AOP实现技术
- · 非常了不起的工具iNET----------帮你实现.NET项目跨平台运行.
- · 服务器端异步 Web 方法
- · Prototype设计模式的实现
- · 用WinDbg探索CLR世界 [3] 跟踪方法的 JIT 过程
- · .net+oracle+crystalReports开发web应用程序学习笔记(二)
- · 使用.net Remtoing进行并行计算
- · 我的O/R Mapping实际开发经验之谈(二)
- · 走近COM Interop——RCW入门
- · 基于Grove的.NET应用程序开发提示
- · datagrid的正反双向排序
上一篇:.NET中的版本号 >>
Win32类型和.net类型的对应表
我的基本原则有如下几点:
1、下面都是针对32位系统的,所以int是32位.long也是32位;
2、各种句柄类的(H开头),我认为一律是System.IntPtr,到目前为止没发现出错;如果哪位在使用中出错,请指出;
3、LP和P,我实在不懂(对C++不太了解),对于LP和P开头的函数,如果是和STR有关的,一律写为System.String,像PLCID这样指向什么东西的,写为System.UInt32(因为指向另一个地址,那就是指针,指针是32位吧),int之类的数值型,那我就写为int[],以方便.net程序引用(写成System.UInt32的话,给API调用应该也不会出错,但.net程序就不好引用了)
如有意见,欢迎指教。谢谢
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.Byte
UINT=System.UInt32
UINT32=System.UInt32
UINT64=System.UInt64
ULONG=System.UInt32
ULONG32=System.UInt32
ULONG64=System.UInt64
ULONGLONG=System.UInt64
USHORT=System.UInt16
WORD=System.UInt16
WPARAM=System.IntPtr
附:举一个声明API的例子
[ DllImport( "Kernel32.dll" )]
public static extern System.UInt32 VirtualAllocEx(
System.IntPtr hProcess,
System.UInt32 lpAddress,
System.UInt32 dwSize,
System.UInt32 flAllocationType,
System.UInt32 flProtect
);
下一篇:实战 .Net 数据访问层 - 1 >>
相关文章:
- · DataGrid在分页状态下删除纪录的问题
- · 未找到路径“D:\”的一部分 的问题解决
- · 在下拉列表框中显示多列的两种简易实现方式
- · .NET 1.1中预编译ASP.NET页面实现原理浅析 [1] 自动预编译机制浅析
- · IEWebControl TreeView右键菜单实例
- · 正则表达式测试程序
- · 创建插件框架(2)
- · 创建插件框架(1)
- · 来自开源社区的声音: .NET vs JAVA
- · .net下分层架构系统的开发技术规范(2)
- · 在.NET 中模拟提交Post数据
- · 以武學的視角來戲說.NET程序員的倚天之術
- · XP方法学习总结及对小组开发的思考
- · 程序员的.NET时代(二)
- · 程序员的.NET时代(一)
- · 品味.NET巨著——书评《Microsoft .NET框架程序设计(修订版)》
- · 解决.NET(WebApplication)安装部署的不能选择安装路径的问题
- · Beta 1 到 Beta 2 改变详细列表(英文)Beta 1 to Beta 2 Changes
- · Microsoft Visual J#.NET (JSharp) Version 7.0 Beta 1 out
- · Microsoft Visual Studio.NET及Borland Delphi6初探
- · .NET对软件安装的冲击
- · Microsoft Tech Ed
- · .NET 和 COM 之间的相互访问
- · 介绍.NET中的委派(一)
- · .NET架构的核心开发技术
- · 控制VC++.NET中WEB对话框的HTML元素属性
- · Borland Eyeing the Chasm Between Java and .NET
- · .Net 是未来的趋势, 为什么?
- · Microsoft .NET Development Platform的Linux版本(Mono)出现
- · 价值上千美元的Visual Studio.NET β2的培训
- · 使用 Microsoft.NET Frameworks 创建Windows应用程序
- · DataGrid连接Access的快速分页法(1)——需求与现状
- · 用Socket类构建网页下载器
- · COM与.NET的互操作(初级)
- · .NET 的对象关系持久化机制(1)
- · Websharp使用说明(8)
- · Websharp使用说明(7)
- · Websharp使用说明(6)
