Re: Understanding Object Namespaces



I would look for documents about the isolation of services from the desktop
in Vista. Maybe it extends to other things too.

--
David J. Craig
Engineer, Sr. Staff Software Systems
Broadcom Corporation


"Le Chaud Lapin" <jaibuduvin@xxxxxxxxx> wrote in message
news:1186635069.407832.202330@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
I have a client/server application where the client and server reside
in the same machine as two EXE's communicating via shared memory and
synchronization.

I implement my shared memory in a DLL using the /SECTION attribute of
the Linker against a shared section.

These EXE's have been communicating this way for years over all
versions of NT-class Windows except Vista, which did not allow it to
work.

Yes, I do understand the need for Global and Local prefixes, and I
have WinObj so I can see where the namespace been changed for the
inter-process synchronization primitives that facilitate the IPC
between the EXE's. :) I am prefixing the name of every synchronization
object with Global\ to for them to be registered at the root
BaseNamedObjects, and that works.

The problem is the DLL with the shared section.

1. If I run both EXE's as services, I *think* there is no problem for
them to communicate. The both see the same shared section.

2. If run one EXE as service, and other as normal app under my login,
the EXE's cannot communicate. Both EXE's do appear to be loading the
DLL, but one of them sees a 0 flag when it should see a 1, as set by
the other EXE. I verifed, of course, that the DLL is in the same one,
in C:\WINDOWS\SYSTEM32, where it belongs.

3. If I run both EXE as normal applications, there is no problem for
them to communicate.

So the problem seems to be the shared section in the DLL getting
duplicate?

Any help appreciated.

-Le Chaud Lapin-



.



Relevant Pages

  • Re: How best for dll to "report progress"?
    ... The dll is created, lets say, by a form in a stand alone exe, therefore ... DLLs, by design, run 'in process' and have no built in way to communicate ... The dll is created by my vb6.exe app "in process" to the external app. ...
    (microsoft.public.vb.general.discussion)
  • Re: Einstellungen für "RegCreateKeyEx" unter VISTA
    ... daß ich diese DLL brauche? ... Meine Exe ist 5 kB groß ... sollte ein neues Betriebssystem wie Vista nicht solche elementaren ...
    (microsoft.public.de.vc)
  • RE: WinVerifyTrust Failure on WinXP
    ... it will work on all Vista platforms: this is a well know stability issue on ... //return itvWintrustNotOnMachine; ... PFnWTHelperProvDataFromStateData pfnWTHelperProvDataFromStateData= ... because this may create dependency loops in the DLL load order. ...
    (microsoft.public.platformsdk.security)
  • Re: DeleteFileW returns incorrect error code in Vista for DLLs
    ... MSN Messenger was just an example, we actually discovered this problem with our own software when trying to replace an in-use DLL. ... Our software offers to schedule a replacement at reboot if it gets an ERROR_SHARING_VIOLATION, and it appeared in testing that this was only failing on Vista under UAC - it works fine on XP, and it works fine on Vista in locations that do not require elevation. ... I just tested this on an XP system, and attempting to delete an in-use DLL from the Program Files folder gives the "sharing violation" error. ... Microsoft Online Community Support ...
    (microsoft.public.win32.programmer.kernel)
  • Re: Strange dll problem
    ... I have a strange problem with my app and I can't find a solution. ... Windows XP and Windows Vista. ... dll and a static lib, ... with the Unicode build of the Codex library, so I tried a non-Unicode ...
    (microsoft.public.vc.mfc)