Простой вопрос, но есть ли вызов API win32 для извлечения, если дескриптор процесса имеет флаг доступа PROCESS_QUERY_INFORMATION
, чтобы успешно позвонить IsWow64Process
? AccessCheck Function - MSDN похоже, что это сработает, но я не уверен, проверяет ли он те же флаги.IsWow64Process PROCESS_QUERY_INFORMATION проверка на дескрипторе процесса
2
A
ответ
2
Посмотрите на функцию NtQueryObject()
. Задайте свой параметр ObjectInformationClass
на номер ObjectBasicInformation
, чтобы запросить структуру ручки PUBLIC_OBJECT_BASIC_INFORMATION
, в которой есть член GrantedAccess
типа ACCESS_MASK
, который может содержать PROCESS_QUERY_INFORMATION
.
Почему бы просто не вызвать 'IsWow64Process()' безоговорочно и обработать любую ошибку, которую он мог бы вернуть? Это было бы намного проще, чем пытаться вникнуть в внутреннюю систему системы безопасности. –
Да, я решил, что могу это сделать, но я просто хотел знать, есть ли способ сделать это иначе:] – Qix
Это может быть очевидно, но на странице MSDN не сказано: 'GetLastError()' возвращает 'ERROR_ACCESS_DENIED' (0x5) при попытке использовать 'IsWow64Process()' для дескриптора, у которого нет необходимых флагов доступа. –