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.
 
 
 
 
 
 

44 lines
1.2 KiB

// 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;
}