C ++, как определить, запущен ли процесс Windows?

Это касается процессов Windows XP.

У меня запущен процесс, назовем его Process1. Process1 создает новый процесс, Process2, и сохраняет его идентификатор.

Теперь, в какой-то момент Process1 хочет, чтобы Process2 что-то сделал, поэтому он должен сначала убедиться, что Process2 все еще жив и что пользователь не уничтожил его.

Как я могу проверить, что этот процесс все еще выполняется? Так как я создал его, у меня есть идентификатор процесса, я думаю, что есть некоторая библиотечная функция по аналогии с IsProcessIDValid (id), но я не могу найти ее в MSDN