From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00, PP_MIME_FAKE_ASCII_TEXT autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII X-Google-Thread: 103376,f3b1b08549f270c0 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2000-10-26 09:52:17 PST Path: supernews.google.com!sn-xit-02!sn-xit-03!supernews.com!logbridge.uoregon.edu!newsfeed.mesh.ad.jp!sjc-peer.news.verio.net!news.verio.net!iad-read.news.verio.net.POSTED!kilgallen From: Kilgallen@eisner.decus.org.nospam (Larry Kilgallen) Newsgroups: comp.lang.ada Subject: Re: NT Service, WinSock Message-ID: References: <8t8u9l$4ru$1@zingo.tninet.se> <8t9lbu$ml1$1@nnrp1.deja.com> Organization: LJK Software Date: 26 Oct 2000 13:52:08 -0500 NNTP-Posting-Host: 216.44.122.34 X-Complaints-To: abuse@verio.net X-Trace: iad-read.news.verio.net 972579131 216.44.122.34 (Thu, 26 Oct 2000 16:52:11 GMT) NNTP-Posting-Date: Thu, 26 Oct 2000 16:52:11 GMT Xref: supernews.google.com comp.lang.ada:1578 Date: 2000-10-26T13:52:08-05:00 List-Id: In article <8t9lbu$ml1$1@nnrp1.deja.com>, Ted Dennison writes: > In article <8t8u9l$4ru$1@zingo.tninet.se>, > "Peter Hend�n" wrote: >> I am doing an overhaul of a Windows NT service. It is >> currently done in C++. I now have a (very tight) time >> window to convince the powers that be to let me rewrite >> this in Ada (I did the original C++ implementation). What >> I would like some help with is how to implement an NT >> service (the service module handler stuff) - sample/boilerplate > > Hmmm. There's a nice little discussion of that on the MDSN disk that > should have come with your C++ compiler: "Design a Windows NT Serice..." > in Periodicals 1997. It looks pretty simple. You just need to create a > ServiceMain and Handler routine (with the proper parameter profiles of > course) for each service in your program. If your executable is listed > in the registry as containing a service, the OS calls your main > procedure at startup to perform initialization. As part of that > initialization your main procedure builds a LPSERVICE_TABLE_ENTRY array > containing the name and ServiceMain address for each service in the > executable. You then pass that to StartServiceCtrlDispatcher (You have > to do this within 2 minutes, or the OS will kill your process). Wasn't this the area with a problem letting the Ada RTL know about threads created by the Microsoft OS code ?