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 |