RPC and IDL: Example on how to use the MS-RSP protocol ?

Hi friends, I have some tricky one for you ...

For some application (no hacking ... you have my word on it) I need an example on how to use the MS-RSP protol, which is described in this Microsoft tech spec PDF file.

Since I want to address either Windows based as *IX based machines, I need to call the "InitShutdown" interface. Host for the application would be a Windows based machine, I would prefer some .NET code but would accept some C++ code for a building a DLL, too.

The pdf file contains the necessary IDL files, but I've no been able to even create an executable from that, not to mention a functional application.

Any hint / link / sourcecode ?

Thanks in advance for your numerous answers ... ;-)
LVL 14
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

frankhelkAuthor Commented:
Thanks for that tip, but unfortunately that one is part of the document I've already referred in my question - I've read that (it describes the function call itself) and I'm stuck in building the surroundings needed to use that interface within a .NET solution (building the connection, authentication with the server, etc.).

I ended up with the compiler whining about various things like data type mismatches etc, and in every attempt to solve these things three more culprits seem to hide. I never got code that compiled completely, not to speak from something functional.

So what I need is a somewhat more elaborate thing like a working example class method or CLI program that does all that - just enough to give me a line to follow. Any .NET language or C/C++ would do ...
It can't be done that way. You're looking for something computer specific and what you're trying to do needs to be developed on the server you intend to restart remotely. There is no one size fits all. If there were hackers would be all over it - and you can be sure I won't be writing it.
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

frankhelkAuthor Commented:
Hmmm - as far as I understand that MS document, the interface is native built into Windows up to even Win10 as a core functionality, and as far as I understand some other doc's, at least the InitShutdown interface is implemented into the samba server part of most Unix like OS.

The use of RPC is possible if not blocked by firewalls, and if correct credentials are presented, the interface could be used to reboot remote servers.

From that view I'd suppose that the server part is already done, and only the calling part needs to be implemented.

And about the hackers ... that protocol documentation is around since 2007, and I bet the interface is present in every Windows flavour newer than 3.x. If it would expose a weak spot, it would have been widely used years ago ...

And to be honest - I don't want to crack that interface. I want to build a regular application that presents regular credentials to some other systems to shut them down graceful and orderly in case of a well defined emergency. There are reasons for not to install an own service on the targets, so I'll try to achieve that by Windows/Linux on-board means ... and so I came to MS-RSP, which seems to be designed especially for that and be present in both Windows and Linux.
The files necessary to initiate a variety of RPC's are native to the Windows operating systems, including those necessary for the RPC you would like to us. What you are looking for is someone to write the call for you so that you can implement it. If you have done this and your RPC is not working, then post the errors. I will not, however, write the protocol for you.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
frankhelkAuthor Commented:
OK - thanks anyhow. It you've pointed me a bit forward ...

If I get stuck again, I'll ask a new question with the necessary scope then.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.