官方说明:

SetHandleCount函数设置可用于进程的文件句柄数。此函数在Windows NT和Windows 95下无效,因为这些平台上的应用程序没有明确的文件句柄限制。在Win32s下,默认情况下只有20个文件句柄可用于进程;但是您可以使用SetHandleCount来允许进程最多使用255个文件句柄。

UINT Setndlekunt(

UINT 【UNumber当前】    //所需的文件句柄数
);     

参数

【UNumber当前】

指定应用程序所需的文件句柄数。

返回值

在Windows NT和Windows 95下,此函数只返回【UNumber当前】参数中指定的值。

在Win32s下,返回值指定实际可用于应用程序的文件句柄数。它可能少于【UNumber当前】参数指定的数字。

备注

在Windows NT和Windows 95下,应用程序可以打开的最大文件数由可用的非分页内存池的大小决定,因为每个打开的文件句柄都需要非分页内存。

看起来没有什么卵用是不是?

实际上,我们可以利用sethandlecount来取对象指针,然后复制内存指针,弥补了一些对指针不友好的语言的缺陷。

eg : IntPtr ptr = SetHandleCount(object);

usage : 

RtlMoveMemory(object2,sethandlecount(object1),4)
RtlZeroMemory(object2,4)