windows api 里 函数的 参数的类型 为DWORD_PTR 这个在c# 里是什么类型啊

 我来答
Frank7258
2011-08-23 · TA获得超过1503个赞
知道小有建树答主
回答量:381
采纳率:0%
帮助的人:553万
展开全部
你最好别用unsigned int直接代替,原因如下:

关于这个DWORD_PTR你要注意32位和64位的兼容性问题。

DWORD本来被定义为unsigned long,DWORD的含义就是双字,一个字是2字节,双字就是32字节。

但是在C/C++中,经常会用到把一个指针转换成数字储存,然后再将其传唤为指针调用。那么在32位系统下,指针是32位长度的,在64位系统下,指针是64位长度的,所以微软引入了DWORD_PTR和INT_PTR等带_PTR的类型,这些类型是这么保证的:将指针转换成带_PTR的类型然后再转换回来,可以得到原始的指针,不会发生截断。在实现上,DWORD_PTR在32位程序和64位程序的定义是不同的,32位定位为unsigned long,64位定义为unsigend __int64。

基于这个要求,你最好使用C#提供的类似的功能:
System.UIntPtr
这个数据类型对应C语言里面带_PTR的类型,保证程序在32位平台和64位平台,以及今后会出现的128位平台都可以正常运行。
董翔宇复活者
2011-08-22 · TA获得超过106个赞
知道小有建树答主
回答量:211
采纳率:0%
帮助的人:152万
展开全部
DWORD_PTR
Unsigned long type for pointer precision.
无符号长整形指针
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f03059727
2011-08-24 · 超过18用户采纳过TA的回答
知道答主
回答量:194
采纳率:0%
帮助的人:80.2万
展开全部
uint
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
evcju136fms
2011-08-23 · TA获得超过463个赞
知道小有建树答主
回答量:929
采纳率:0%
帮助的人:550万
展开全部
DWORD dwPageSize;
LPVOID lpMinimumApplicationAddress;
LPVOID lpMaximumApplicationAddress;
DWORD_PTR dwActiveProcessorMask;
DWORD dwNumberOfProcessors;
DWORD dwProcessorType;
DWORD dwAllocationGranularity;
WORD wProcessorLevel;
WORD wProcessorRevision;

WORD wProcessorArchitecture;
WORD wReserved;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2011-08-23 · 超过53用户采纳过TA的回答
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:147万
展开全部
你直接用 int 代替
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式