.NET与非托管代码交互操作 — IntPtr

在.NET中,IntPtr是一个结构体,封装于mscorlib.dll程序集,表示一个指针或句柄类型的整数值。它的作用类似于C/C++中的void*指针类型,可以存储指向任意数据类型的内存地址 ,定义如下图

IntPtr通常用于与非托管代码进行交互,比如调用Win32 API函数,由于非托管代码使用指针或句柄来访问内存或系统资源,因此.NET应用程序需要使用IntPtr类型来与这些指针或句柄进行交互。通过将非托管代码中的指针或句柄转换为IntPtr类型,可以在.NET应用程序中安全地传递指针或句柄类型的值,并在需要时将它们转换回原始类型。

posted @ 2023-04-09 15:03  Ivan1ee  阅读(84)  评论(0编辑  收藏  举报