События
19 нояб., 23 - 21 нояб., 23
Получите конкурентное преимущество, необходимое с помощью мощных решений ИИ и облака, посещая Microsoft Ignite online.
ЗарегистрироватьсяЭтот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Открывает существующий локальный объект процесса.
HANDLE OpenProcess(
[in] DWORD dwDesiredAccess,
[in] BOOL bInheritHandle,
[in] DWORD dwProcessId
);
[in] dwDesiredAccess
Доступ к объекту процесса. Это право доступа проверяется по дескриптору безопасности для процесса. Этот параметр может быть одним или несколькими правами доступа процесса.
Если вызывающий объект включил привилегию SeDebugPrivilege, запрошенный доступ предоставляется независимо от содержимого дескриптора безопасности.
[in] bInheritHandle
Если это значение равно TRUE, процессы, созданные этим процессом, наследуют дескриптор. В противном случае процессы не наследуют этот дескриптор.
[in] dwProcessId
Идентификатор открываемого локального процесса.
Если указанный процесс является системным неактивным процессом (0x00000000), функция завершается ошибкой и последним кодом ошибки является ERROR_INVALID_PARAMETER
. Если указанный процесс является системным процессом или одним из процессов подсистемы клиентского сервера Run-Time (CSRSS), эта функция завершается ошибкой, и последний код ошибки заключается в ERROR_ACCESS_DENIED
том, что их ограничения доступа препятствуют открытию кода на уровне пользователя.
Если вы используете GetCurrentProcessId в качестве аргумента для этой функции, рассмотрите возможность использования GetCurrentProcess вместо OpenProcess для повышения производительности.
Если функция выполняется успешно, возвращаемое значение является открытым дескриптором для указанного процесса.
Если функция завершается сбоем, возвращается значение NULL. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Чтобы открыть дескриптор для другого локального процесса и получить полный доступ, необходимо включить привилегию SeDebugPrivilege. Дополнительные сведения см. в разделе Изменение привилегий в токене.
Дескриптор, возвращаемый функцией OpenProcess , можно использовать в любой функции, требующей дескриптора для процесса, например функции ожидания, при условии, что были запрошены соответствующие права доступа.
Завершив работу с дескриптором, закройте его с помощью функции CloseHandle .
Пример см. в разделе Создание моментального снимка и просмотр процессов.
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | processthreadsapi.h (включая Windows.h в Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |
События
19 нояб., 23 - 21 нояб., 23
Получите конкурентное преимущество, необходимое с помощью мощных решений ИИ и облака, посещая Microsoft Ignite online.
Зарегистрироваться