Это немного сложнее, чем это.
Сначала вам нужно получить набор привилегий токена процесса (вызвав GetTokenInformation()
), затем вы сканируете буфер, полученный из этого (которыймассив LUID_AND_ATTRIBUTES
структур) для LUID, который вы получаете от LookupPrivilegeValue()
.Затем вы можете использовать найденный вами LUID_AND_ATTRIBUTES
и проверить, содержит ли Attributes
требуемый флаг (SE_PRIVILEGE_ENABLED
в вашем случае).
Имейте в виду, что когда вы проверяете активированную привилегию, вы должны также проверить, что SE_PRIVILEGE_REMOVED
НЕ установлено в Attributes
, который вы проверяете;привилегия с SE_PRIVILEGE_REMOVED
и SE_PRIVILEGE_ENABLED
была удалена и НЕ включена ...