[omniORB] omniNames.exe and the -start parameter. omniNames as an NT service.

Dietmar May dcmay@object-workshops.com
Wed, 22 Sep 1999 14:26:54 -0400


------ =_NextPart_000_01BF0506.868AA8C0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

> Actually, I was thinking more about your code, and had the=20
> thought that I
> have never investigated how to write an application as an=20
> actual NT service.
> I'd kind of like to take a look at your source as well.

Here is the source code for our NT service. What's missing is code to =
shut down the service when it stopped, as well as to register the server =
with NT.=20

We use INSTSRV.EXE, which is available in the NT Resource Kit (the 3.5 =
ResKit is - or was recently - still available on Microsoft's FTP site. =
Some of the apps don't run under 4.0, but many still do). But it would =
be a lot cleaner if the app could register itself as a service. Maybe =
someone else can contribute that code?

Regards,
Dietmar

------ =_NextPart_000_01BF0506.868AA8C0
Content-Type: application/octet-stream; name="SRVNAMES.CPP"
Content-Transfer-Encoding: base64

Ly9saW5rIHdpdGggQURWTElCMzIuTElCDQoNCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUg
PHByb2Nlc3MuaD4NCiNpbmNsdWRlIDx3aW5kb3dzLmg+DQoNClZPSUQgV0lOQVBJIEN0cmxIYW5k
bGVyIChEV09SRCk7DQp2b2lkIFdJTkFQSSBTZXJ2aWNlTWFpbiAoRFdPUkQsIExQVFNUUiopOw0K
Y29uc3QgY2hhciogcHpfU2VydmljZUNtZCAgPSAib21uaU5hbWVzIjsNCmNvbnN0IGNoYXIqIHB6
X1NlcnZpY2VOYW1lID0gIm9tbmlOYW1lcyI7DQpTRVJWSUNFX1NUQVRVU19IQU5ETEUgaF9TZXJ2
aWNlID0gMDsNCmludCBiX1J1biA9IFRSVUU7DQppbnQgcGlkID0gMDsNCg0KaW50IG1haW4gKGlu
dCBhcmdjLCBjaGFyKiBhcmd2W10pDQp7DQogICAgU0VSVklDRV9UQUJMRV9FTlRSWSB0YWJsZVtd
ID0NCiAgICB7DQogICAgICAgIHsgKGNoYXIqKXB6X1NlcnZpY2VOYW1lLCBTZXJ2aWNlTWFpbiB9
LA0KICAgICAgICB7IDAsIDAgfQ0KICAgIH07DQogICAgU3RhcnRTZXJ2aWNlQ3RybERpc3BhdGNo
ZXIodGFibGUpOw0KICAgIHJldHVybiAwOw0KfQ0KDQp2b2lkIFdJTkFQSSBTZXJ2aWNlTWFpbiAo
RFdPUkQgX2FyZ2MsIExQVFNUUiogX2FyZ3YpDQp7DQogICAgaF9TZXJ2aWNlID0gUmVnaXN0ZXJT
ZXJ2aWNlQ3RybEhhbmRsZXIocHpfU2VydmljZU5hbWUsIEN0cmxIYW5kbGVyKTsNCg0KICAgIFNF
UlZJQ0VfU1RBVFVTIHN0YXQ7DQogICAgc3RhdC5kd1NlcnZpY2VUeXBlID0gU0VSVklDRV9XSU4z
Ml9PV05fUFJPQ0VTUzsNCiAgICBzdGF0LmR3Q3VycmVudFN0YXRlID0gU0VSVklDRV9SVU5OSU5H
Ow0KICAgIHN0YXQuZHdDb250cm9sc0FjY2VwdGVkID0gU0VSVklDRV9DT05UUk9MX0lOVEVSUk9H
QVRFIHwgU0VSVklDRV9BQ0NFUFRfU1RPUDsNCiAgICBzdGF0LmR3V2luMzJFeGl0Q29kZSA9IDA7
DQogICAgc3RhdC5kd1NlcnZpY2VTcGVjaWZpY0V4aXRDb2RlID0gMDsNCiAgICBzdGF0LmR3Q2hl
Y2tQb2ludCA9IDA7DQogICAgc3RhdC5kd1dhaXRIaW50ID0gMDsNCiAgICBTZXRTZXJ2aWNlU3Rh
dHVzKGhfU2VydmljZSwgJnN0YXQpOw0KDQogICAgYl9SdW4gPSBUUlVFOw0KICAgIHBpZCA9IF9z
cGF3bmxwKF9QX1dBSVQsICJvbW5pbmFtZXMuZXhlIiwgIm9tbmluYW1lcy5leGUiLCAwKTsNCiAg
ICBpZihwaWQgPT0gLTEpDQogICAgeyAgIHN0YXQuZHdDdXJyZW50U3RhdGUgPSBTRVJWSUNFX1NU
T1BQRUQ7DQogICAgICAgIHN0YXQuZHdXaW4zMkV4aXRDb2RlID0gcmV0Ow0KICAgICAgICBzdGF0
LmR3U2VydmljZVNwZWNpZmljRXhpdENvZGUgPSByZXQ7DQogICAgICAgIFNldFNlcnZpY2VTdGF0
dXMoaF9TZXJ2aWNlLCAmc3RhdCk7DQogICAgfQ0KfQ0KDQpWT0lEIFdJTkFQSSBDdHJsSGFuZGxl
ciAoRFdPUkQgX3R5cGUpDQp7DQogICAgaWYoX3R5cGUgPT0gU0VSVklDRV9DT05UUk9MX1NUT1Ap
DQogICAgeyAgIGlmKHBpZCAhPSAwICYmIHBpZCAhPSAtMSkNCiAgICAgICAgICAgIFRlcm1pbmF0
ZVByb2Nlc3MocGlkLCAwKTsNCiAgICB9DQogICAgU0VSVklDRV9TVEFUVVMgc3RhdDsNCiAgICBz
dGF0LmR3U2VydmljZVR5cGUgPSBTRVJWSUNFX1dJTjMyX09XTl9QUk9DRVNTOw0KICAgIHN0YXQu
ZHdDdXJyZW50U3RhdGUgPSBiX1J1biA/IFNFUlZJQ0VfUlVOTklORyA6IFNFUlZJQ0VfU1RPUFBF
RDsNCiAgICBzdGF0LmR3Q29udHJvbHNBY2NlcHRlZCA9IDA7DQogICAgc3RhdC5kd1dpbjMyRXhp
dENvZGUgPSAwOw0KICAgIHN0YXQuZHdTZXJ2aWNlU3BlY2lmaWNFeGl0Q29kZSA9IDA7DQogICAg
c3RhdC5kd0NoZWNrUG9pbnQgPSAwOw0KICAgIHN0YXQuZHdXYWl0SGludCA9IDA7DQogICAgU2V0
U2VydmljZVN0YXR1cyhoX1NlcnZpY2UsICZzdGF0KTsNCn0NChoNCg==

------ =_NextPart_000_01BF0506.868AA8C0--