当processHandle = -1时,此OpenProcessToken执行什么操作?

时间:2014-11-06 05:44:51

标签: windows winapi assembly x86

我理解这是做什么的,但是它的意思是将ProcessHandle设置为-1,如下所示?

.text:004011D2 83 EC 20             sub     esp, 20h
.text:004011D5 8D 04 24             lea     eax, [esp+20h+TokenHandle]
.text:004011D8 50                   push    eax          ; TokenHandle
.text:004011D9 6A 28                push    28h          ; DesiredAccess
.text:004011DB 6A FF                push    0FFFFFFFFh   ; ProcessHandle
.text:004011DD E8 96 04 00 00       call    OpenProcessToken

1 个答案:

答案 0 :(得分:4)

-1进程句柄是当前进程的句柄。最好按照MSDN上的建议调用GetCurrentProcess

  

检索当前进程的伪句柄   ...
  伪句柄是一个特殊常量,当前(HANDLE)-1 ,它被解释为当前进程句柄。为了与未来的操作系统兼容,最好调用GetCurrentProcess而不是硬编码这个常量值。