|
|
/*************************************************************************
* * execsrv.h * * Common header file for remote WinStation exec service * * Copyright Microsoft Corporation, 1998 * * * *************************************************************************/
// Server: WinLogon per WinStation
#define EXECSRV_SYSTEM_PIPE_NAME L"\\\\.\\Pipe\\TerminalServer\\SystemExecSrvr\\%d" // winlogon
#define EXECSRV_BUFFER_SIZE 8192
/*
* Data structure passed for a remote exec request * * This basicily exports the WIN32 CreateProcessW() API. * * NOTE: pointers are self relative * */
typedef struct _EXECSRV_REQUEST { DWORD Size; // total size in request
DWORD RequestingProcessId; // To allow the handle DUP to the requestor
BOOL System; // TRUE if create under system context
// CreateProcessW() parameters
HANDLE hToken; PWCHAR lpszImageName; PWCHAR lpszCommandLine; SECURITY_ATTRIBUTES saProcess; SECURITY_ATTRIBUTES saThread; BOOL fInheritHandles; DWORD fdwCreate; LPVOID lpvEnvironment; LPWSTR lpszCurDir; STARTUPINFOW StartInfo; PROCESS_INFORMATION ProcInfo; } EXECSRV_REQUEST, *PEXECSRV_REQUEST;
typedef struct _EXECSRV_REPLY { DWORD Size; BOOLEAN Result; DWORD LastError; //
// NOTE: The handles for hProcess and hThread are converted from the
// remote exec server into the requestors process using the
// RequestingProcess handle in the request.
//
PROCESS_INFORMATION ProcInfo; } EXECSRV_REPLY, *PEXECSRV_REPLY;
BOOL WinStationCreateProcessW( ULONG LogonId, BOOL System, PWCHAR lpszImageName, PWCHAR lpszCommandLine, PSECURITY_ATTRIBUTES psaProcess, PSECURITY_ATTRIBUTES psaThread, BOOL fInheritHandles, DWORD fdwCreate, LPVOID lpvEnvionment, LPWSTR lpszCurDir, LPSTARTUPINFOW pStartInfo, LPPROCESS_INFORMATION pProcInfo );
//
// For non-UNICODE clients
//
BOOL WinStationCreateProcessA( ULONG LogonId, BOOL System, PCHAR lpszImageName, PCHAR lpszCommandLine, PSECURITY_ATTRIBUTES psaProcess, PSECURITY_ATTRIBUTES psaThread, BOOL fInheritHandles, DWORD fdwCreate, LPVOID lpvEnvionment, LPCSTR lpszCurDir, LPSTARTUPINFOA pStartInfo, LPPROCESS_INFORMATION pProcInfo );
|