| Index: src/installer-ca/dutil/procutil.h | 
| =================================================================== | 
| new file mode 100644 | 
| --- /dev/null | 
| +++ b/src/installer-ca/dutil/procutil.h | 
| @@ -0,0 +1,85 @@ | 
| +#pragma once | 
| +//------------------------------------------------------------------------------------------------- | 
| +// <copyright file="procutil.h" company="Outercurve Foundation"> | 
| +// Copyright (c) 2004, Outercurve Foundation. | 
| +// This software is released under Microsoft Reciprocal License (MS-RL). | 
| +// The license and further copyright text can be found in the file | 
| +// LICENSE.TXT at the root directory of the distribution. | 
| +// </copyright> | 
| +// | 
| +// <summary> | 
| +// Header for process helper functions. | 
| +// </summary> | 
| +//------------------------------------------------------------------------------------------------- | 
| + | 
| +#ifdef __cplusplus | 
| +extern "C" { | 
| +#endif | 
| + | 
| +// structs | 
| +typedef struct _PROC_FILESYSTEMREDIRECTION | 
| +{ | 
| + BOOL fDisabled; | 
| + LPVOID pvRevertState; | 
| +} PROC_FILESYSTEMREDIRECTION; | 
| + | 
| +HRESULT DAPI ProcElevated( | 
| + __in HANDLE hProcess, | 
| + __out BOOL* pfElevated | 
| + ); | 
| + | 
| +HRESULT DAPI ProcWow64( | 
| + __in HANDLE hProcess, | 
| + __out BOOL* pfWow64 | 
| + ); | 
| +HRESULT DAPI ProcDisableWowFileSystemRedirection( | 
| + __in PROC_FILESYSTEMREDIRECTION* pfsr | 
| + ); | 
| +HRESULT DAPI ProcRevertWowFileSystemRedirection( | 
| + __in PROC_FILESYSTEMREDIRECTION* pfsr | 
| + ); | 
| + | 
| +HRESULT DAPI ProcExec( | 
| + __in_z LPCWSTR wzExecutablePath, | 
| + __in_z_opt LPCWSTR wzCommandLine, | 
| + __in int nCmdShow, | 
| + __out HANDLE *phProcess | 
| + ); | 
| +HRESULT DAPI ProcExecute( | 
| + __in_z LPWSTR wzCommand, | 
| + __out HANDLE *phProcess, | 
| + __out_opt HANDLE *phChildStdIn, | 
| + __out_opt HANDLE *phChildStdOutErr | 
| + ); | 
| +HRESULT DAPI ProcWaitForCompletion( | 
| + __in HANDLE hProcess, | 
| + __in DWORD dwTimeout, | 
| + __out DWORD *pReturnCode | 
| + ); | 
| +HRESULT DAPI ProcWaitForIds( | 
| + __in_ecount(cProcessIds) const DWORD* pdwProcessIds, | 
| + __in DWORD cProcessIds, | 
| + __in DWORD dwMilliseconds | 
| + ); | 
| +HRESULT DAPI ProcCloseIds( | 
| + __in_ecount(cProcessIds) const DWORD* pdwProcessIds, | 
| + __in DWORD cProcessIds | 
| + ); | 
| + | 
| +// following code in proc2utl.cpp due to dependency on PSAPI.DLL. | 
| +HRESULT DAPI ProcFindAllIdsFromExeName( | 
| + __in_z LPCWSTR wzExeName, | 
| + __out DWORD** ppdwProcessIds, | 
| + __out DWORD* pcProcessIds | 
| + ); | 
| + | 
| +// following code in proc3utl.cpp due to dependency on Wtsapi32.DLL. | 
| +HRESULT DAPI ProcExecuteAsInteractiveUser( | 
| + __in_z LPCWSTR wzExecutablePath, | 
| + __in_z LPCWSTR wzCommand, | 
| + __out HANDLE *phProcess | 
| + ); | 
| + | 
| +#ifdef __cplusplus | 
| +} | 
| +#endif |