| 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 |