c#调用dll,使用dllImport如何返回一个HANDLE类型

c#调用dll,使用dllImport怎么返回一个HANDLE类型

        [DllImport("UHF01_SDK.dll")]
        private extern static HANDLE OpenComm(int portNo);

代码是这样的,返回一个HANDLE类型的返回值,报错了
 “错误 CS0246: 找不到类型或命名空间名称“HANDLE”(是否缺少 using 指令或程序集引用?)”

这个是缺少命名空间吗?是哪个命名空间?

或者有其他的解决方式,就是调用一个dll里面的方法。

另外这个函数声明成static的调用第二次或多次的时候有没有影响,如果有影响,可以去掉static吗?
------解决方案--------------------
HANDLE可以用IntPtr代替。
static用在DllImport时不可以去掉。
------解决方案--------------------
http://blog.csdn.net/xiaochongchong1248/article/details/5181345
------解决方案--------------------
//c++:HANDLE(void   *)          ----    c#:System.IntPtr 
static 不可去掉,首先,DLLimport导入的方法实现时在“外部”,所以需要extern修饰。
另外C#中导入的方法必须为静态,则还需static修饰
c++对应C#转换大全 http://blog.csdn.net/xqf222/article/details/5877795
------解决方案--------------------
1.intptr代替句柄
2.静态方法只要内部不依赖外部属性,那么那就没博客园粉号称那么严重,实际上在编译过后任何方法本身都是静态滴