Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: src/installer-ca/dutil/procutil.h

Issue 11521026: initial custom action library, "hello, world" quality (Closed)
Patch Set: Created Sept. 3, 2013, 12:48 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld