Функция GetCurrentProcess


Функция GetCurrentProcess извлекает псевдодескриптор для текущего процесса.

Синтаксис

HANDLE GetCurrentProcess(VOID)

Параметры

У этой функции нет параметров.

Возвращаемые значения

Величина возвращаемого значения - псевдодескриптор текущего процесса.

Замечания

Псевдодескриптор - специальная константа обычно (HANDLE)-1, которая интерпретируется как дескриптор текущего процесса. Для совместимости с будущими операционными системами, самое лучшее, вызвать функцию GetCurrentProcess, вместо жестко запрограммированного этого постоянного значения. Вызывающий процесс может использовать псевдодескриптор, чтобы устанавливать свой собственный процесс всякий раз, когда требуется дескриптор процесса. Псевдодескрипторы дочерними процессами не наследуются.

Этот дескриптор имеет максимально возможный доступ к объекту процесса. Для систем, которые поддерживают дескрипторы безопасности, это - максимальный доступ, разрешенный дескриптором безопасности для вызывающего процесса. Для систем, которые не поддерживают дескрипторы безопасности, это - PROCESS_ALL_ACCESS. Для получения дополнительной информации, см. статью Защита процесса и права доступа.

Процесс может создавать "действительный" дескриптор для себя, который является допустимым применительно к другим процессы, или который может быть унаследован другими процессами, при помощи определения псевдодескриптора как исходного дескриптора при вызове функции DuplicateHandle. Процесс может использовать также и функцию OpenProcess, чтобы открыть действительный дескриптор для себя.

Когда псевдодескриптор больше не нужен, закрывать его нет необходимости. Вызов функции CloseHandle с псевдодескриптором не имеет никакого влияния. Если псевдодескриптор продублирован функцией DuplicateHandle, продублированный дескриптор должен быть закрыт.

Код примера

Пример смотри в статье Создание дочернего процесса с перенаправлением ввода и вывода данных.

Смотри также

Краткий обзор Процессы и потоки, Функции, используемые процессами и потоками, CloseHandle, DuplicateHandle, GetCurrentProcessId, GetCurrentThread, OpenProcess

Размещение и совместимость GetCurrentProcess

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

Kernel32.lib

Заголовочный файл

 

- объявлено в

Winbase.h

- включено в

Windows.h

Unicode

Реализуется как версии Unicode и ANSI для всех платформ.

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz