Hi. I'm implementing an EventLog service now. I want to make it 100% compatible with windows. Windows machines will be able to access reactos eventlog via rpc.
Undocumented rpc interface is almost reversed now. You can find it in attached archive with some tests. Ansi functions work very well, but I have some problems with unicode ones. When I pass initialized with nulls UNICODE_STRING to a function, it works. When I initialize structure with some other values, exception is raised on server side (1783 Stub received bad data). I don't know why this happens. Advapi32 initializes structures with RtlInitUnicodeString, nothing special. Any ideas?
And I don't know how to compile this with widl and gcc. SEH is not implemented in gcc, right? How rpc exceptions are handled in ROS? Widl returns strange errors. Somebody familiar with widl please help me =)
Hello Saveliy!
Hi. I'm implementing an EventLog service now. I want to make it 100% compatible with windows. Windows machines will be able to access reactos eventlog via rpc.
That's great! Thanks for your contribution!
Undocumented rpc interface is almost reversed now. You can find it in attached archive with some tests. Ansi functions work very well, but I have some problems with unicode ones. When I pass initialized with nulls UNICODE_STRING to a function, it works. When I initialize structure with some other values, exception is raised on server side (1783 Stub received bad data). I don't know why this happens. Advapi32 initializes structures with RtlInitUnicodeString, nothing special. Any ideas?
No, not yet.
And I don't know how to compile this with widl and gcc. SEH is not implemented in gcc, right? How rpc exceptions are handled in ROS? Widl returns strange errors. Somebody familiar with widl please help me =)
WIDL is not ready to compile your attached eventlogrpc.idl because a lot of required features are not implemented yet. WIDL might crash, return strange error messages or generate buggy stub code.
WIDL generates SEH-protected stub code. When gcc compiles the stub code the SEH code gets disabled by rpc.h because gcc does not support SEH. But we are able to implement support for our ReactOS-specific SEH macros.
Implementing the required features will take several months because I have very very little time to work on ReactOS.
Regards Eric Kohl
Ok, I decided to leave EventLog and do something else until required widl features will be implemented :) Are there any undocumented rpc interfaces needed for compatibility with windows? If yes, I can try to reverse engeneer them. I've just compared our svcctl.idl to IDA disassembly of advapi32. GUID and stub order are the same(someone already researched it?). Missing stubs are: 10 - I_ScSetServiceBitsW 11 - ChangeServiceConfigW 13 - EnumDependentServicesW 14 - EnumServiceGroupW 17 - QueryServiceConfigW 18 - QueryServiceLockStatusW 19 - StartServiceW 20 - GetServiceDisplayNameW 21 - GetServiceKeyNameW 22 - I_ScSetServiceBitsA 23 - ChangeServiceConfigA 24 - CreateServiceA 25 - EnumDependentServicesA 26 - EnumServicesStatusA 29 - QueryServiceConfigA 30 - QueryServiceLockStatusA 31 - StartServiceA 32 - GetServiceDisplayNameA 33 - GetServiceKeyNameA 34 - Unknown 35 - EnumServiceGroupW 36 - ChangeServiceConfig2A 37 - ChangeServiceConfig2W 38 - QueryServiceConfig2A 39 - QueryServiceConfig2W 40 - QueryServiceStatusEx 41 - EnumServicesStatusExA 42 - EnumServicesStatusExW 43 - I_ScSendTSMessage
I didn't looked at parameters yet.
Eric Kohl wrote:
Hello Saveliy!
Hi. I'm implementing an EventLog service now. I want to make it 100% compatible with windows. Windows machines will be able to access reactos eventlog via rpc.
That's great! Thanks for your contribution!
Undocumented rpc interface is almost reversed now. You can find it in attached archive with some tests. Ansi functions work very well, but I have some problems with unicode ones. When I pass initialized with nulls UNICODE_STRING to a function, it works. When I initialize structure with some other values, exception is raised on server side (1783 Stub received bad data). I don't know why this happens. Advapi32 initializes structures with RtlInitUnicodeString, nothing special. Any ideas?
No, not yet.
And I don't know how to compile this with widl and gcc. SEH is not implemented in gcc, right? How rpc exceptions are handled in ROS? Widl returns strange errors. Somebody familiar with widl please help me =)
WIDL is not ready to compile your attached eventlogrpc.idl because a lot of required features are not implemented yet. WIDL might crash, return strange error messages or generate buggy stub code.
WIDL generates SEH-protected stub code. When gcc compiles the stub code the SEH code gets disabled by rpc.h because gcc does not support SEH. But we are able to implement support for our ReactOS-specific SEH macros.
Implementing the required features will take several months because I have very very little time to work on ReactOS.
Regards Eric Kohl
Ros-dev mailing list Ros-dev@reactos.com http://reactos.com:8080/mailman/listinfo/ros-dev
I think without a service host process I think implementing a service may be a little to early. Sure you can test the file on Windows 2000 or XP but they may have some sort of effect on the binary itself, but how will ReactOs react to the binary? I am sure the service will not start.
-----Original Message----- From: ros-dev-bounces@reactos.com [mailto:ros-dev-bounces@reactos.com] On Behalf Of Saveliy Tretiakov Sent: Sunday, July 31, 2005 8:42 AM To: ReactOS Development List Subject: Re: [ros-dev] EventLog
Ok, I decided to leave EventLog and do something else until required widl features will be implemented :) Are there any undocumented rpc interfaces needed for compatibility with windows? If yes, I can try to reverse engeneer them. I've just compared our svcctl.idl to IDA disassembly of advapi32. GUID and stub order are the same(someone already researched it?). Missing stubs are: 10 - I_ScSetServiceBitsW 11 - ChangeServiceConfigW 13 - EnumDependentServicesW 14 - EnumServiceGroupW 17 - QueryServiceConfigW 18 - QueryServiceLockStatusW 19 - StartServiceW 20 - GetServiceDisplayNameW 21 - GetServiceKeyNameW 22 - I_ScSetServiceBitsA 23 - ChangeServiceConfigA 24 - CreateServiceA 25 - EnumDependentServicesA 26 - EnumServicesStatusA 29 - QueryServiceConfigA 30 - QueryServiceLockStatusA 31 - StartServiceA 32 - GetServiceDisplayNameA 33 - GetServiceKeyNameA 34 - Unknown 35 - EnumServiceGroupW 36 - ChangeServiceConfig2A 37 - ChangeServiceConfig2W 38 - QueryServiceConfig2A 39 - QueryServiceConfig2W 40 - QueryServiceStatusEx 41 - EnumServicesStatusExA 42 - EnumServicesStatusExW 43 - I_ScSendTSMessage
I didn't looked at parameters yet.
Eric Kohl wrote:
Hello Saveliy!
Hi. I'm implementing an EventLog service now. I want to make it 100% compatible with windows. Windows machines will be able to access reactos eventlog via rpc.
That's great! Thanks for your contribution!
Undocumented rpc interface is almost reversed now. You can find it in attached archive with some tests. Ansi functions work very well, but I have some problems with unicode ones. When I pass initialized with nulls UNICODE_STRING to a function, it works. When I initialize structure with some other values, exception is raised on server side (1783 Stub received bad data). I don't know why this happens. Advapi32 initializes structures with RtlInitUnicodeString, nothing special. Any ideas?
No, not yet.
And I don't know how to compile this with widl and gcc. SEH is not implemented in gcc, right? How rpc exceptions are handled in ROS? Widl returns strange errors. Somebody familiar with widl please help me =)
WIDL is not ready to compile your attached eventlogrpc.idl because a lot of required features are not implemented yet. WIDL might crash, return strange error messages or generate buggy stub code.
WIDL generates SEH-protected stub code. When gcc compiles the stub code the SEH code gets disabled by rpc.h because gcc does not support SEH. But we are able to implement support for our ReactOS-specific SEH macros.
Implementing the required features will take several months because I have very very little time to work on ReactOS.
Regards Eric Kohl
Ros-dev mailing list Ros-dev@reactos.com http://reactos.com:8080/mailman/listinfo/ros-dev
_______________________________________________ Ros-dev mailing list Ros-dev@reactos.com http://reactos.com:8080/mailman/listinfo/ros-dev
Saveliy Tretiakov wrote:
Ok, I decided to leave EventLog and do something else until required widl features will be implemented :)
Hi,
That might not be the best idea... a lot of parts of ReactOS/compiler system arne't ready yet, and that would mean sacrificing a lot of work. If you like to work on RPC/Services, then by all means, continue to do so, even if we won't support it. We always encourage developers to code on Windows, and let us handle it later, because:
1) It lets you test your app for compatibility 2) It lets us make sure and know exactly how we should respond, since you have the windows behaviour known.
So please continue to do work on any service you'd like...or you could try implementing MMC :)
Best regards, Alex Ionescu