LUID就是指locally unique identifier我想GUID大家是比较熟悉的和GUID的要求保证全局唯一不同LUID只要保证局部唯一就是指在系统的每一次运行期间保证是唯一的就可以了另外和GUID相同的一点LUID也是一个64位的值相信大家都看过GUID那一大串的值我们要怎么样才能知道一个权限对应的LUID值是多少呢这就要用到另外一个API函数LookupPrivilegevalue其原形如下 BOOL LookupPrivilegevalue( LPCTSTR lpSystemName, // system name LPCTSTR lpName, // privilege name PLUID lpLuid // locally unique identifier ); 第一个参数是系统的名称如果是本地系统只要指明为NULL就可以了第三个参数就是返回LUID的指针第二个参数就是指明了权限的名称如SeDebugPrivilege在Winnt.h中还定义了一些权限名称的宏如 #define SE_BACKUP_NAME TEXT("SeBackupPrivilege") #define SE_RESTORE_NAME TEXT("SeRestorePrivilege") #define SE_SHUTDOWN_NAME TEXT("SeShutdownPrivilege") #define SE_DEBUG_NAME TEXT("SeDebugPrivilege")