進程控制碼和識別碼
當 CreateProcess 函式建立新進程時,會傳回新進程的控制碼及其主要執行緒。 這些控制碼是使用完整存取權限所建立,而且受限於安全性存取檢查,可用於接受執行緒或進程控制碼的任何函式中。 這些控制碼可由子進程繼承,視建立時指定的繼承旗標而定。 即使進程或執行緒已終止,控制碼仍有效,直到關閉為止。
CreateProcess函式也會傳回可唯一識別整個系統的進程的識別碼。 進程可以使用 GetCurrentProcessId 函式來取得自己的進程識別碼, (也稱為進程識別碼或 PID) 。 識別碼是從進程建立到進程終止為止有效。 進程可以使用 Process32First 函式來取得其父進程的進程識別碼。
如果您有進程識別碼,您可以藉由呼叫 OpenProcess 函式來取得進程控制碼。 OpenProcess 可讓您指定控制碼的存取權限,以及是否可以繼承它。
進程可以使用 GetCurrentProcess 函式,擷取其本身進程物件的虛擬控制碼。 這個虛擬控制碼僅適用于呼叫進程;它無法繼承或複製以供其他進程使用。 若要取得進程的實際控制碼,請呼叫 DuplicateHandle 函式 。