Hello! Please tell me how to cause reboot w2k3 (Without using rpc-calls to do it) on the assembler. In advance thanks!
The ExitWindowsEx
function may be what you're looking for. While this is easy to call in a high level language like C, it takes more manual work to call it from assembly language.
You can also find examples of calling Win32 functions from assembly language; putting the pieces together is up to you.
You mentioned causing a BSOD in one of the comments to bring down the system (you might also look at causing a triple-fault, those are fun, but have no API). This is done from kernel land by calling KeBugCheck (or by causing a problem like a null-pointer dereference).
If you want to try another user land API call, I like InitiateSystemShutdown, passing in TRUE for the last two parameters (to force closing hung programs, and to restart, respectively).
If you're trying to shut down a remote system and something goes wrong and the shutdown hangs, and you still want to reboot it, perhaps you could look at a software-controlled power control circuit. You could send a signal to cut power to the machine for a few seconds, then bring it back online.