可以将Win32初始化HANDLE为NULL吗?还是有更好的或推荐的方法来初始化HANDLEs?
例如,
void foo()
{
HANDLE hFile;
hFile = CreateFile(/* necessary arguments*/);
}
Run Code Online (Sandbox Code Playgroud)
我应该hFile用什么来初始化?
在您的示例代码中,您不需要初始化hFile任何东西,因为它是由CreateFile函数初始化的。
Windows API在认为“空”句柄的方面并不完全一致。一些API(如CreateFile)会INVALID_HANDLE_VALUE在失败时返回,而其他API 则会NULL在失败时返回。因此,测试a HANDLE是否有效的方式取决于您从中获得的功能-检查该功能的实际文档,并查看其表示失败时的返回值。
| 归档时间: |
|
| 查看次数: |
2480 次 |
| 最近记录: |