Identificadores e identificadores de processo
Quando um novo processo é criado pela funçãoCreateProcess, os identificadores do novo processo e seu thread primário são retornados. Essas alças são criadas com direitos de acesso total e, sujeitas à verificação de acesso de segurança, podem ser usadas em qualquer uma das funções que aceitam identificadores de thread ou processo. Esses identificadores podem ser herdados por processos filho, dependendo do sinalizador de herança especificado quando são criados. As alças são válidas até serem fechadas, mesmo após o processo ou thread que representam ter sido encerrado.
A funçãoCreateProcess também retorna um identificador que identifica exclusivamente o processo em todo o sistema. Um processo pode usar a função GetCurrentProcessId para obter seu próprio identificador de processo (também conhecido como ID do processo ou PID). O identificador é válido desde o momento em que o processo é criado até que o processo tenha sido encerrado. Um processo pode usar a função Process32First para obter o identificador de processo de seu processo pai.
Se você tiver um identificador de processo, poderá obter o identificador do processo chamando a funçãoOpenProcess. OpenProcess permite especificar os direitos de acesso do identificador e se ele pode ser herdado.
Um processo pode usar o função GetCurrentProcess para recuperar um pseudo identificador para seu próprio objeto de processo. Este pseudo identificador é válido apenas para o processo de chamada; ele não pode ser herdado ou duplicado para uso por outros processos. Para obter o identificador real para o processo, chame o DuplicateHandle função.