87 lines
2.4 KiB
Plaintext
87 lines
2.4 KiB
Plaintext
RPCSVC
|
|
|
|
|
|
The RPCSVC program demonstrates how to implement an NT system service that
|
|
uses RPC.
|
|
|
|
SUMMARY
|
|
=======
|
|
|
|
This particular RPC service is designed to show the performance effects of
|
|
various parameters to RPC APIs and interface design.
|
|
|
|
The service can be started and stopped from either the Services control
|
|
panel, the net start/stop command line, or by using the Service Controller
|
|
utility (see below).
|
|
|
|
The service also provides command-line parameters which install, remove, or
|
|
run (debug) the service as a console application.
|
|
|
|
This sample (and service.c) is based on the win32\service sample.
|
|
|
|
FILES
|
|
=====
|
|
|
|
The directory samples\rpc\handles\rpcsvc contains the following files to
|
|
build the distributed application RPCSVC:
|
|
|
|
File Description
|
|
|
|
README.TXT Readme file for the RPCSVC sample
|
|
RPCSVC.IDL Interface definition language file
|
|
RPCSVC.ACF Attribute configuration file
|
|
CLIENT.C Client main program
|
|
SERVER.C Server main program
|
|
SERVICE.C Service APIs
|
|
SERVICE.H
|
|
MAKEFILE Nmake file to build for Windows NT or Windows 95
|
|
|
|
TO USE:
|
|
-------
|
|
|
|
To install the service, first compile everything, and then type:
|
|
|
|
rpcsvc -install
|
|
|
|
To start the service, use the control panel or type:
|
|
|
|
net start simplerpcservice
|
|
|
|
Once the service has been started, you can use the CLIENT program to verify
|
|
that it really is working, using the syntax:
|
|
|
|
svcclnt [-i iterations] [-t protseq] [-n servername] [-s security]
|
|
|
|
By default, the service listens to ncalrpc, ncacn_np, ncacn_ip_tcp and
|
|
ncadg_ip_udp. If no parameters are passed to the client, it uses ncalrpc
|
|
with default LPC security.
|
|
|
|
If, after playing with the sample you wish to remove the service, simply
|
|
run:
|
|
|
|
rpcsvc -remove
|
|
|
|
You can run the service from the command line with:
|
|
|
|
rpcsvc -debug
|
|
|
|
MORE INFORMATION:
|
|
=================
|
|
|
|
See the sample in samples\win32\service for more information on NT system
|
|
service and how service.c and service.h work.
|
|
|
|
server.c implements a bunch of APIs:
|
|
|
|
ServiceStart() is called when the server is starting. It uses server
|
|
transports, registers its endpoints and interfaces and starts listening.
|
|
|
|
ServiceStop() is called when the service should stop. It just calls
|
|
RpcMgmtStopServerListening().
|
|
|
|
Manager APIs (implement the remote side of the operations defined in the
|
|
rpcsvc.idl file.
|
|
|
|
Client.c binds to the server (as specified on the command line) and then
|
|
times a bunch of different RPC calls to the server.
|