Доброго времени суток братья и сестры.
Подскажите плз.
Я вызываю CreateProcess (своего exe-шника).
CreateProcess(NULL,TempBuf, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)
TempBuf — сомандная строка к exe + " " + параметр
TempBuf это у меня char*
память ему ведяляю достаточно, и пишу туда вроде правильно.
при длинне TempBuf до 30000 смволов все ОК,
при большей — валится и все тут.
GetLastError при это выдает 87-ую ошибку (типа не верно задан параметр)
Конечно изврат так юзать CreateProcess, но боюсь что иначе никак
Есть у кого-нить идеи???
19.02.03 19:37: Перенесено модератором из 'C/C++' в WinAPI — ХД
Здравствуйте, VladM2, Вы писали:
VM>Я вызываю CreateProcess (своего exe-шника).
VM>при длинне TempBuf до 30000 смволов все ОК,
VM>при большей — валится и все тут.
VM>Конечно изврат так юзать CreateProcess, но боюсь что иначе никак
Да, это извращение, тем более, что что процес свой.
Копай лучше в сторону memmory mapped files. У CreateFileMapping можно указать INVALID_HANDLE_VALUE для файла, тогда объект mmf будет создан в памяти (пусть и виртуальной

, а также будет иметь глобальное имя (если не ошибаюсь, совсем глобальное — даже по сети будет видно, хотя не уверен), которое ты сам задашь, так вот это имя и передавай в кач. параметра процессу.
Здравствуйте, VladM2, Вы писали:
VM>Доброго времени суток братья и сестры.
VM>Подскажите плз.
VM>Я вызываю CreateProcess (своего exe-шника).
VM>CreateProcess(NULL,TempBuf, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)
***
VM>Конечно изврат так юзать CreateProcess, но боюсь что иначе никак
VM>Есть у кого-нить идеи???
Может у тебя жестко задан буфер как? lpCommandLine (второй параметр) должен быть НЕ constб т.к. он [in, out], winapi оставляет за собой право его модифицировать
хотя странно вообще как-то
Здравствуйте, Frostbitten, Вы писали:
F>Копай лучше в сторону memmory mapped files. У CreateFileMapping можно указать INVALID_HANDLE_VALUE для файла, тогда объект mmf будет создан в памяти (пусть и виртуальной
, а также будет иметь глобальное имя (если не ошибаюсь, совсем глобальное — даже по сети будет видно, хотя не уверен), которое ты сам задашь, так вот это имя и передавай в кач. параметра процессу.
Да, это скорее всего подойдет, но только есть нюанс (экземпляров может быть несколько

)
В этом случае я понимаю, что надо будет генерить уникальное имя отображаемого в память файла, с учетом уже отображенных...
Ну да ладно

, терпение и трут — все передрут