Gracias! Pues te digo el modelo, es un Fortigate 300C
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menúchar* ReadAndHandleOutput(HANDLE hPipeRead)
{
char lpBuffer[256]="";
DWORD nBytesRead;
char *partialResult;
char result[10000]="";
while(1)
{
if (!ReadFile(hPipeRead,lpBuffer,sizeof(lpBuffer),&nBytesRead,NULL) || !nBytesRead)
{
if (GetLastError() == ERROR_BROKEN_PIPE)
break;
}
partialResult = (char *) malloc(10000);
strncpy(partialResult,lpBuffer,nBytesRead);
sprintf(result,"%s%s",result,partialResult);
}
return result;
}
//Ejecuta un comando de CMD
char* execute(char *argument)
{
SECURITY_ATTRIBUTES sa;
STARTUPINFO si;
PROCESS_INFORMATION pi;
void * leer;
void * escribir;
ZeroMemory(&sa,sizeof(&sa));
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.bInheritHandle = TRUE;
sa.lpSecurityDescriptor = NULL;
CreatePipe(&leer,&escribir,&sa,0);
GetStartupInfoA(&si);
si.dwFlags = STARTF_USESTDHANDLES|STARTF_USESHOWWINDOW;
si.wShowWindow = SW_HIDE;
si.hStdOutput = escribir;
si.hStdError = escribir;
si.hStdInput = leer;
CreateProcess(0,argument,0,0,TRUE,0,NULL,NULL,&si,&pi);
CloseHandle(escribir);
return ReadAndHandleOutput(leer);
}