可以将声明为HANDLE的变量与C中的NULL进行比较?谢谢你。
版本:
例如:

HANDLE hProcess = NULL;

status = ZwOpenProcess(&hProcess, PROCESS_DUP_HANDLE, &ob, &Cid);
if (hProcess != NULL)
{
  ZwClose(hProcess);
  hProcess = NULL;
}

目的是检查hProcess是否为!= 0。然后,如果我正在检查!= NULL,意味着同一件事吗?

最佳答案

(评论太久了。)

您可以使用if(hProcess != NULL) { /*...*/ }进行检查,如其他答案中所述。
但是,在给定的示例中,必须检查的是API调用的返回值。

  HANDLE hProcess;
  if(NT_SUCCESS(ZwOpenProcess(&hProcess, PROCESS_DUP_HANDLE, &ob, &Cid)))
  {
    /*... use hProcess ...*/

    ZwClose(hProcess);
  }
  else
  {
    /*... handle error ...*/
  }

关于c - 可以在C中将HANDLE类型的变量与NULL比较吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64586050/

10-12 01:42