On Fri, Feb 01, 2002 at 08:26:52AM -0200, Ricardo wrote:
Well, show us how the second program is supposed to get at that data, and we'll show you what doesn't work at the moment. I'm still a bit ignorant about how exactly your programs do that data transfer (especially on the "client" side), thus please show us how this is supposed to be done.
Thanks for helping me! I'll show how the program work:
I have 2 programs, let's call them pgm1 and pgm2. These programs have common data that pgm1 have to set on pgm2. To set pgm2 data we write a file with a random name (actually we start with a name, but if already exists we add 1 until we can create a new file) using pgm1, let's cal this file file1.dat. So, graphically it'll be:
data ---------------->data | | | | pgm1--> file1.dat--> pgm2
The file1.dat is passed as a parameter using the dwFillAttribute of the pgm2.
Hope it was what you were expecting.
Hmm, no, sorry, it's not.
I was asking to get more details on the client side, i.e. how the program *actually* gets hold of the STARTUPINFO.dwFillAttribute content that the parent passes via CreateProcess.
AFAICS you haven't mentioned that in any of your mails.
CreateProcess stuff can be found in loader/module.c, scheduler/process.c and server/process.c, in case you want to investigate that path.
Ah, damn, forgot about GetStartupInfo(). That's probably how it's done. You should really have mentioned it by now, though. (been asking about three times now)
In this case memory/environ.c would also be relevant.
Oh, now I see.
The only problem right now is that dwFillAttribute simply doesn't get passed at all to the wineserver and back. It simply gets omitted. scheduler/process.c/PROCESS_Create() would have to pass dwFillAttribute to the new_process request, and scheduler/process.c/PROCESS_Init() would have to get dwFillAttribute added at the init_process request in order to retrieve its value for the client program. And the stuff in server/ (structs mainly) would have to get enhanced to support this additional field. Could you take care of this ? And, even better, could you make sure all other relevant additional fields in STARTUPINFO are being copied from parent to server to client, too ?