PROCESS_ALL_ACCESS不包含PROCESS_TERMINATE!该怎么解决

PROCESS_ALL_ACCESS不包含PROCESS_TERMINATE!
E文不算太好,简单看了看MSDN的Process Security and Access Rights,
怎么看都觉得应该理解为PROCESS_ALL_ACCESS包含PROCESS_TERMINATE了。
但是如果要TerminateProcess关闭进程,用OpenProcess获取进程句柄时如果参数是PROCESS_ALL_ACCESS是关闭不了的,而非要有PROCESS_TERMINATE。

所以,希望明确一下PROCESS_ALL_ACCESS与PROCESS_TERMINATE都有没有包含关系,为什么出现以上情况。

------解决方案--------------------
C/C++ code
#define OWNER_SECURITY_INFORMATION       (0X00000001L)
#define GROUP_SECURITY_INFORMATION       (0X00000002L)
#define DACL_SECURITY_INFORMATION        (0X00000004L)
#define SACL_SECURITY_INFORMATION        (0X00000008L)
#define PROCESS_TERMINATE         (0x0001)  
#define PROCESS_CREATE_THREAD     (0x0002)  
#define PROCESS_SET_SESSIONID     (0x0004)  
#define PROCESS_VM_OPERATION      (0x0008)  
#define PROCESS_VM_READ           (0x0010)  
#define PROCESS_VM_WRITE          (0x0020)  
#define PROCESS_DUP_HANDLE        (0x0040)  
#define PROCESS_CREATE_PROCESS    (0x0080)  
#define PROCESS_SET_QUOTA         (0x0100)  
#define PROCESS_SET_INFORMATION   (0x0200)  
#define PROCESS_QUERY_INFORMATION (0x0400)  
#define PROCESS_ALL_ACCESS        (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \
                                   0xFFF)

------解决方案--------------------
// If we can't open the process with PROCESS_TERMINATE rights,
// then we give up immediately.立刻放弃
hProc = OpenProcess(SYNCHRONIZE|PROCESS_TERMINATE, FALSE,dwPID);
PROCESS_ALL_ACCESS存取,不能终止。
PROCESS_TERMINATE Enables using the process handle in the TerminateProcess function to terminate the process.
------解决方案--------------------