Metode til en. DLL for at udsætte tilstandssystemets brede (Windows)

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg opretter to uafhængige C ++ .dll'er, der begge taler med samme hardware. Hvis begge er tilsluttet på samme tid, vil deres kommandoer blive blandet sammen, og hardwareen opfører sig forkert. Så jeg skal sikre, at kun én er forbundet til hardwareen på én gang (selvom begge DLL'er er indlæst og kører).


Her er min idé hidtil:



  • før forbindelsen opretter DLL en fil på en kendt placering

  • Når DLL'en forbinder, ser den efter den anden DLLs fil og nægter at oprette forbindelse, hvis den er til stede.

  • efter afbrydelsen sletter DLL sin fil.



Dette virker simpelt nok, men jeg undrer mig over, om der er en bedre måde? Nogle slags system-wide variabel DLL'erne kan definere? Enkelhed er nøglen her - jo færre linjer kode, desto bedre.

Bedste reference


Brug CreateMutex-funktionen [1]

Andre referencer 1


Du kan bruge global mutex objekt til dette.