HANDLE: INVALID_HANDLE_VALUE vs NULL
来源:互联网 发布:淘宝轮播图代码 编辑:程序博客网 时间:2024/06/14 09:51
#include "stdafx.h"#include <Windows.h>#include <iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[]){HANDLE m_hCom = CreateFile(_T("COM3"),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,0); //Open Port: COM1if(m_hCom == INVALID_HANDLE_VALUE)printf("%d\n",INVALID_HANDLE_VALUE);else{CloseHandle(m_hCom);m_hCom = INVALID_HANDLE_VALUE;}return 0;}
1. HANDLE 类型为 void * 无类型指针
2. CreateFile如果成功,HANDLE 为合法句柄,并占有一个内核资源,进行if判断时和TRUE一样; 如果失败,则返回一个INVALID_HANDLE_VALUE ( vs2008下为0xfffffffff ) 实际值等于-1
3. CloseHandle执行后,可以释放句柄m_hCom的内核资源,比如串口操作时就是关闭串口的作用;且m_hCom的值仍然不变,为一个“合法”的地址形式,只是指向的资源已经被释放;此时应该立即赋值-1,如:m_hCom = INVALID_HANDLE_VALUE;
- HANDLE: INVALID_HANDLE_VALUE vs NULL
- WINDOWS HANDLE null INVALID_HANDLE_VALUE
- HANDLE的无效值:NULL还是INVALID_HANDLE_VALUE? 以及对HANDLE的RAII封装
- 返回HANDLE的API,失败时有时候是NULL,有时候是INVALID_HANDLE_VALUE
- INVALID_HANDLE_VALUE 与 NULL
- Windows内核对象无效返回值——NULL或者INVALID_HANDLE_VALUE??
- Apache Handle vs CGI vs FastCGI
- Unable to handle kernel NULL pointer dereference.
- Unable to handle kernel NULL pointer dereference.
- undefined VS. null
- javascript null vs undefined
- Javascript undefined vs null
- c++ nullptr vs NULL
- SqlServer(null) vs C#(null,DBNull)
- 介绍Unable to handle kernel NULL pointer dereference...
- unable to handle kernel null pointer dereference at virtual address
- 解决Unable to handle kernel NULL pointer dereference
- [error handle][java] 有错误信息时,getErrorStream()返回null
- KMP字符排序
- 2、构建索引
- 奇偶校验函数
- 大数阶乘
- ExtJS4快速入门实例
- HANDLE: INVALID_HANDLE_VALUE vs NULL
- 凯撒加密与矩阵换位加密
- jquery accordion 手风琴的使用
- Xcode 有用
- php安装http扩展(sudo apt-get install)
- 位序转字符串的一种高效方法
- 第六周实验
- C# 中的委托和事件
- m_Time = CTime::GetCurrentTime();