Da leckt ein
Handle.
CloseHandle(ExecuteInfo.hProcess) fehlt. Außerdem sollte man die Rückgabewerte auswerten und ggf. eine passende
Exception werfen. Daneben ist es Konvention, dass der ExitCode Null für Erfolg und alles andere für einen Fehler steht; bei dir ist es andersherum.