Leaked source code of windows server 2003
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.
|
|
// Copyright (c) 1993-1999 Microsoft Corporation
#include <windows.h>
#include "errors.hxx"
STATUS_T Execute( char* szCmd, char* szCmdFile ) { PROCESS_INFORMATION prc; STARTUPINFO info; BOOL fCreated; char cmdLine[512]; STATUS_T status = STATUS_OK;
ZeroMemory( &info, sizeof( info ) ); info.cb = sizeof( info ); info.hStdError = GetStdHandle( STD_ERROR_HANDLE ); info.hStdInput = GetStdHandle( STD_INPUT_HANDLE ); info.hStdOutput = GetStdHandle( STD_OUTPUT_HANDLE );
strcpy( cmdLine, szCmd ); strcat( cmdLine, " \"" ); // quote the command file in case it has
strcat( cmdLine, szCmdFile ); // spaces in the path
strcat( cmdLine, "\" " );
fCreated = CreateProcess( NULL, cmdLine, 0, 0, TRUE, 0, 0, 0, &info, &prc );
if ( fCreated ) { WaitForSingleObject( prc.hProcess, INFINITE ); GetExitCodeProcess( prc.hProcess, ( LPDWORD ) &status );
CloseHandle( prc.hThread ); CloseHandle( prc.hProcess ); } else { status = SPAWN_ERROR; }
return status; }
|