views:

45

answers:

1

I've been developing a small in house application in C++ to access data from a vendor through a windows only API. I've developed this application in visual studio 2008 on windows XP (actually in a windows XP VM but whatever) and in testing on this system it runs fine. Now I'm deploying to a windows server 2008 standard system, and if I run my application in debug mode on that system the debug output, apart from the regular stuff, lists a few dozen lines reading:

RPC:  Using rpcns4.dll.  The dll is no longer supported.

Now I wouldn't know RPC if it hits me in the face, and I know for sure that what I coded for my application comes nowhere near RPC, so I conclude the RPC stuff is originating from the external API.
The program runs fine apart from this one message, so this is no serious issue, I'm just curious as to what it means. And also I'd like to know if it signals any serious issues I could get in the near future with this API. If I google that phrase I arrive at a typical msdn page that doesn't teach me all that much about the issue.

A: 

It seems this run-time message is emitted from the RPCLocator service running on windows Vista and later machines. This service seems to be there just to make sure that legacy programs that require the service can find something. RPC Locator, also known as windows locator, was introduced with windows 2000 and it had its functionality removed with windows Vista. Right now all it seems to do is issue these warnings. If I understand correctly then programs that use the RPC Locator might stop working in later versions of windows. I'm not sure if programs using functionality offered by this service will not work on Vista and later.

In my specific case some code accessing this service has been left in the version of the API I am using, leading to the messages. But this code seems to contribute nothing to the actual functioning of the API. It has been removed in a more recent version.

jilles de wit

related questions