Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1997.
//
// File: launch.cxx
//
// Contents:
//
//--------------------------------------------------------------------------
#include "act.hxx"
HRESULT CClsidData::LaunchActivatorServer( OUT HANDLE * phProcess ) { WCHAR * pwszCommandLine; STARTUPINFO StartupInfo; PROCESS_INFORMATION ProcessInfo; HRESULT hr; BOOL bStatus;
hr = GetLaunchCommandLine( &pwszCommandLine );
StartupInfo.cb = sizeof(StartupInfo); StartupInfo.lpReserved = NULL; StartupInfo.lpDesktop = NULL; StartupInfo.lpTitle = (SERVERTYPE_SURROGATE == _ServerType) ? NULL : _pwszServer; StartupInfo.dwX = 40; StartupInfo.dwY = 40; StartupInfo.dwXSize = 80; StartupInfo.dwYSize = 40; StartupInfo.dwFlags = 0; StartupInfo.wShowWindow = SW_SHOWNORMAL; StartupInfo.cbReserved2 = 0; StartupInfo.lpReserved2 = NULL;
ProcessInfo.hThread = 0; ProcessInfo.hProcess = 0;
bStatus = CreateProcess( NULL, pwszCommandLine, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &StartupInfo, &ProcessInfo );
if ( ProcessInfo.hThread ) CloseHandle( ProcessInfo.hThread );
if ( ProcessInfo.hProcess && ! bStatus ) { CloseHandle( ProcessInfo.hProcess ); ProcessInfo.hProcess = 0; }
*phProcess = ProcessInfo.hProcess;
PrivMemFree( pwszCommandLine );
return bStatus ? S_OK : HRESULT_FROM_WIN32( GetLastError() ); }
|