Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows Win32API是否与32位版本和64位版本不同?_Windows_Api_Resources_64 Bit_Handle - Fatal编程技术网

Windows Win32API是否与32位版本和64位版本不同?

Windows Win32API是否与32位版本和64位版本不同?,windows,api,resources,64-bit,handle,Windows,Api,Resources,64 Bit,Handle,似乎所有Win32 API都是32位版本,无论我安装的Windows是32位还是64位。如果调用CreateWindow,返回的句柄将是指向\u句柄的指针,该句柄是结构{int unused;} 所以32位Windows和64位Windows都使用Windows API,它以32位样式管理资源,对吗 如果是这种情况,那么进程的文件/GUI句柄的上限数量在32/64位窗口之间是否相同?换句话说,与32位进程相比,64位Windows进程除了拥有更多内存外,还不能容纳更多的系统资源 似乎所有win3

似乎所有Win32 API都是32位版本,无论我安装的Windows是32位还是64位。如果调用
CreateWindow
,返回的句柄将是指向
\u句柄的指针,该句柄是
结构{int unused;}

所以32位Windows和64位Windows都使用Windows API,它以32位样式管理资源,对吗

如果是这种情况,那么进程的文件/GUI句柄的上限数量在32/64位窗口之间是否相同?换句话说,与32位进程相比,64位Windows进程除了拥有更多内存外,还不能容纳更多的系统资源

似乎所有win32 api都是32位版本,无论我安装的windows是32位还是64位

这是不正确的,您提供的示例(
句柄
)也显示了这一点:它是一个指针,因此在64位版本的Windows上它是64位宽的。它指向某个任意结构1(
struct{int unused;};
)的事实与此无关。未使用结构内容2

这样,您就可以看到,
句柄
类型引用的内核对象的理论最大值在64位窗口上高于32位窗口上。由于许多原因,实际限制通常低于这些限制。太多了,无法一一列举,但下面是一些你可能会感兴趣的相关文章:


1仅当设置了预处理器宏时,才使用此结构。如果不是,则
句柄
只是
void*
的typedef
2该结构用于防止某些类别的程序员错误,如将
句柄
分配给
int
。在系统内部,有意义的是句柄值

似乎所有win32 api都是32位版本,无论我安装的windows是32位还是64位

这是不正确的,您提供的示例(
句柄
)也显示了这一点:它是一个指针,因此在64位版本的Windows上它是64位宽的。它指向某个任意结构1(
struct{int unused;};
)的事实与此无关。未使用结构内容2

这样,您就可以看到,
句柄
类型引用的内核对象的理论最大值在64位窗口上高于32位窗口上。由于许多原因,实际限制通常低于这些限制。太多了,无法一一列举,但下面是一些你可能会感兴趣的相关文章:


1仅当设置了预处理器宏时,才使用此结构。如果不是,则
句柄
只是
void*
的typedef
2该结构用于防止某些类别的程序员错误,如将
句柄
分配给
int
。在系统内部,有意义的是句柄值