MutexAcl.Create(Boolean, String, Boolean, MutexSecurity) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u een exemplaar op of maakt Mutex , zodat een MutexSecurity exemplaar optioneel kan worden opgegeven om deze in te stellen tijdens het maken van de mutex.
public:
static System::Threading::Mutex ^ Create(bool initiallyOwned, System::String ^ name, [Runtime::InteropServices::Out] bool % createdNew, System::Security::AccessControl::MutexSecurity ^ mutexSecurity);
public static System.Threading.Mutex Create(bool initiallyOwned, string? name, out bool createdNew, System.Security.AccessControl.MutexSecurity? mutexSecurity);
static member Create : bool * string * bool * System.Security.AccessControl.MutexSecurity -> System.Threading.Mutex
Public Shared Function Create (initiallyOwned As Boolean, name As String, ByRef createdNew As Boolean, mutexSecurity As MutexSecurity) As Mutex
Parameters
- initiallyOwned
- Boolean
true om de aanroepende thread het oorspronkelijke eigendom van het benoemde systeem mutex te geven als de benoemde systeemmutex wordt gemaakt als gevolg van deze aanroep; anders, false.
- name
- String
De naam, als het synchronisatieobject moet worden gedeeld met andere processen; anders of null een lege tekenreeks. De naam is hoofdlettergevoelig. Het backslashteken (\) is gereserveerd en kan alleen worden gebruikt om een naamruimte op te geven. Zie de sectie Opmerkingen voor meer informatie over naamruimten. Er kunnen verdere beperkingen gelden voor de naam, afhankelijk van het besturingssysteem. Op Unix-besturingssystemen moet de naam na het uitsluiten van de naamruimte bijvoorbeeld een geldige bestandsnaam zijn.
- createdNew
- Boolean
Wanneer deze methode wordt geretourneerd, wordt dit argument altijd ingesteld true op als er een lokale mutex wordt gemaakt; dat wil gezegd, wanneer namenull of Empty. Als name er een geldige niet-lege waarde is, wordt dit argument ingesteld op true wanneer het systeem mutex wordt gemaakt of is ingesteld false op als er een bestaande systeemmutex met die naam wordt gevonden. Deze parameter wordt niet-geïnitialiseerd doorgegeven.
- mutexSecurity
- MutexSecurity
De optionele mutex-toegangsbeheerbeveiliging die moet worden toegepast.
Retouren
Een object dat een systeemmutex vertegenwoordigt, als het een naam heeft of een lokale mutex, indien naamloos.
Uitzonderingen
alleen .NET Framework: name is langer dan MAX_PATH (260 tekens).
name is ongeldig. Dit kan om verschillende redenen zijn, waaronder enkele beperkingen die mogelijk door het besturingssysteem worden geplaatst, zoals een onbekend voorvoegsel of ongeldige tekens. Houd er rekening mee dat de naam en algemene voorvoegsels 'Global\' en 'Local\' hoofdlettergevoelig zijn.
– of –
Er is een andere fout opgetreden. De HResult eigenschap kan meer informatie bevatten.
alleen Windows: name een onbekende naamruimte opgegeven. Zie Objectnamen voor meer informatie.
Het name is te lang. Lengtebeperkingen kunnen afhankelijk zijn van het besturingssysteem of de configuratie.
Een synchronisatieobject met de opgegeven name kan niet worden gemaakt. Een synchronisatieobject van een ander type kan dezelfde naam hebben.
Opmerkingen
De name naamruimte kan worden voorafgegaan door Global\ of Local\ om een naamruimte op te geven. Wanneer de Global naamruimte is opgegeven, kan het synchronisatieobject worden gedeeld met processen op het systeem. Wanneer de Local naamruimte is opgegeven, wat ook de standaardwaarde is wanneer er geen naamruimte is opgegeven, kan het synchronisatieobject worden gedeeld met processen in dezelfde sessie. Op Windows is een sessie een aanmeldingssessie en worden services meestal uitgevoerd in een andere niet-interactieve sessie. Op Unix-achtige besturingssystemen heeft elke shell een eigen sessie. Sessie-lokale synchronisatieobjecten zijn mogelijk geschikt voor synchronisatie tussen processen met een bovenliggende/onderliggende relatie, waar ze allemaal in dezelfde sessie worden uitgevoerd. Zie Objectnamen voor meer informatie over de namen van synchronisatieobjecten in Windows.
Als er een name is opgegeven en er al een synchronisatieobject van het aangevraagde type bestaat in de naamruimte, wordt het bestaande synchronisatieobject geopend. Als er al een synchronisatieobject van een ander type bestaat in de naamruimte, wordt er een WaitHandleCannotBeOpenedException gegenereerd. Anders wordt er een nieuw synchronisatieobject gemaakt.
Caution
Standaard is een benoemde mutex niet beperkt tot de gebruiker die deze heeft gemaakt. Andere gebruikers kunnen de mutex mogelijk openen en gebruiken, inclusief het verstoren van de mutex door de mutex in te voeren en niet af te sluiten. Als u de toegang tot specifieke gebruikers wilt beperken, kunt u een MutexSecurity doorgeven bij het maken van de benoemde mutex. Vermijd het gebruik van benoemde mutexes zonder toegangsbeperkingen voor systemen waarop mogelijk niet-vertrouwde gebruikers code uitvoeren.