getlasterror von createprocess



  • Hallo,

    ich probiere mich gerade an createprocess, der Prozess wird augenscheinlich auch gestartet und macht auch das was ich will(baut eine ssh-Verbindung auf). Nur gibt mit getlasterror 1813 zurück, aber führt danach alle Befehle aus die ich ihm mitgebe.
    Laut MSDN:

    ERROR_RESOURCE_TYPE_NOT_FOUND1813 (0x715)
    The specified resource type cannot be found in the image file.

    Kann mir jemand erklären was der Fehler aussagt?

    int execution(wchar_t *cmdline){
    
    	STARTUPINFO start; 
        PROCESS_INFORMATION proc;
    
        SetLastError(0);
        memset(&start, 0, sizeof(start)); 
        start.cb = sizeof(start);
        if(!CreateProcess(NULL,	// No module name (use command line)
    					  cmdline, // Command line
    					  NULL,    // Process handle not inheritable
    					  NULL,    // Thread handle not inheritable
    					  TRUE,    // Set handle inheritance to FALSE
    					  NORMAL_PRIORITY_CLASS, // No creation flags
    					  NULL,    // Use parent's environment block
    					  NULL,    // Use parent's starting directory 
    					  &start,  // Pointer to STARTUPINFO structure
    					  &proc)  // Pointer to PROCESS_INFORMATION structure
    	)
    		// Wait until child process exits.
        	WaitForSingleObject( proc.hProcess, INFINITE );
    	else{
    		printf( "CreateProcess failed (%d).\n", GetLastError() );
            return -1;
        }
    
    	// Close process and thread handles. 
        CloseHandle( proc.hProcess );
        CloseHandle( proc.hThread );
    
    	return 0;
    }
    


  • Änder Deine Abfrage mal in:

    if(CreateProcess(NULL,
    


  • holzkopf schrieb:

    Kann mir jemand erklären was der Fehler aussagt?

    1. Das man die manpage richtig lesen sollte.
    2. Das man wissen müsste was BOOL bedeutet ?
    3. Das Dein Nikname Programm ist, könnte sein ?

    If CreateProcess() fails, the return value is zero.


Log in to reply