Advapi32: Service Control RPC

Robert Shearman rob at
Thu Jan 10 03:24:03 CST 2008

Rolf Kalbermatter wrote:
> Robert Shearman [mailto:rob at] wrote:
>> No. Everything (except multi-dimensional arrays, possibly) 
>> can already be done by the code we output already. Adding 
>> code to output -Oicf proc format strings in widl would be 
>> possible, but unnecessary.
> Ok, but I have made some parameter protocols to NdrClientCall2
> from native advapi32 and believe that using those MIDL format
> informations could allow to make an idl file that would result
> in a fully wire compatible protocol to the MS services.exe one.
> It's not exactly trivial to decode the MIDL_ProcFormatString
> but by verifying the generated MIDL generated code against those
> protocolled parameters would certainly help a lot.

We really don't want to do development in that way. It would be much 
better to use the information that Samba have gained in a clean way 
combined with documentation with the equivalent Win32 function to figure 
out the compatible IDL file.

> A first not
> through check seems to indicate that almost every service control
> API has its own services.exe rpc message, so no ANSII to Widechar
> translation in the Advapi32.dll! Probably because there was a
> services.exe implementation before the widechar APIs got introduced.
> Also the protocol message numbers seem to have some holes, probably
> some undocumented APIs here.

This kind of work has already been done and the interface fairly well 
documented, so I'll point you at this documentation:

Rob Shearman

More information about the wine-devel mailing list