Hvordan bruke en mutex i Visual Basic

stemmer
21

Jeg har importert kernel32biblioteket. Så, jeg har createMutexfunksjonen tilgjengelig, men jeg er ikke helt sikker på de forskjellige parametre og returverdier.

Dette er klassisk Visual Basic, ikke Visual Basic.NET, men jeg kan sikkert jobbe med begge språk i form av et svar.

Publisert på 04/08/2008 klokken 01:22
kilden bruker
På andre språk...                            


3 svar

stemmer
10

Her er de VB6 erklæringer for CreateMutex - Jeg bare kopierte dem fra API betrakteren, som du bør ha som en del av VB6 installasjon. VB6 Marshalls strenger å null-terminert ANSI bruke den gjeldende koden siden.

Public Type SECURITY_ATTRIBUTES
   nLength As Long
   lpSecurityDescriptor As Long
   bInheritHandle As Long 
End Type

Public Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" _
   (lpMutexAttributes As SECURITY_ATTRIBUTES, ByVal bInitialOwner As Long, _
    ByVal lpName As String) As Long

Husk at hvis du oppretter en mutex fra VB6 IDE, tilhører mutex til IDE og vil ikke bli ødelagt når du slutter å kjøre programmet - bare når du lukker IDE.

Svarte 17/09/2008 kl. 12:01
kilden bruker

stemmer
8

VB koden ser omtrent slik ut:

hMutex = CreateMutex(ByVal 0&, 1, ByVal 0&)

Den første parameteren er en peker til en SECURITY_ATTRIBUTESstruktur. Hvis du ikke vet hva det er, trenger du ikke det. Passere NULL (0).

Den andre parameteren TRUE(ikke null, eller 1) hvis den anrop tråden skal bli eier av mutex. FALSEellers.

Den tredje parameteren er den mutex navn og kan være NULL (0), som vist. Hvis du trenger en navngitt mutex, pass navnet (noe unikt) i. Ikke sikker på om de VBwrapper Marshals lengde-prefikset VBstring type ( BSTR) over til en null-terminert Ascii / Unicode-streng hvis ikke, må du gjøre det og en rekke eksempler er der ute.

Lykke til!

Svarte 04/08/2008 kl. 04:58
kilden bruker

stemmer
2

Vel, basert på dokumentasjon ser det ut:

  1. Sikkerhet attributter (kan passere null)
  2. Enten det er i utgangspunktet eide (kan passere false)
  3. Navnet på det

HTH

Svarte 04/08/2008 kl. 04:48
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more