Share via


MutexAcl.Create(Boolean, String, Boolean, MutexSecurity) Yöntem

Tanım

Örneği alır veya oluşturur Mutex ; bu MutexSecurity sayede mutex oluşturma sırasında isteğe bağlı olarak belirtilmesine izin verir.

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

Parametreler

initiallyOwned
Boolean

true bu çağrının bir sonucu olarak adlandırılmış sistem mutex'i oluşturulduysa adlandırılmış sistem mutex'in çağıran iş parçacığına ilk sahipliğini vermek için; aksi takdirde , false.

name
String

Eşitleme nesnesi diğer işlemlerle paylaşılacaksa adı; aksi takdirde veya null boş bir dize. Bu ad büyük/küçük harfe duyarlıdır. Ters eğik çizgi karakteri (\) ayrılmıştır ve yalnızca bir ad alanı belirtmek için kullanılabilir. Ad alanları hakkında daha fazla bilgi için açıklamalar bölümüne bakın. İşletim sistemine bağlı olarak ad üzerinde başka kısıtlamalar da olabilir. Örneğin, Unix tabanlı işletim sistemlerinde ad alanı dışlanmadan sonraki ad geçerli bir dosya adı olmalıdır.

createdNew
Boolean

Bu yöntem döndürdüğünde, yerel bir mutex oluşturulduğunda, yani veya Emptyolduğunda namenull bu bağımsız değişken her zaman olarak ayarlanırtrue. Geçerli boş olmayan bir değere sahipse name , bu bağımsız değişken true sistem mutex'i oluşturulduğunda olarak ayarlanır veya bu adla mevcut bir sistem mutex'i bulunursa olarak ayarlanır false . Bu parametre, başlatmadan iletilir.

mutexSecurity
MutexSecurity

Uygulanacak isteğe bağlı mutex erişim denetimi güvenliği.

Döndürülenler

Adlandırılmışsa sistem mutex'ini veya adsızsa yerel bir mutex'i temsil eden nesne.

Özel durumlar

Yalnızca .NET Framework: name MAX_PATH(260 karakter) uzundur.

name geçersizdir. Bu, bilinmeyen bir ön ek veya geçersiz karakterler gibi işletim sistemi tarafından konulabilecek bazı kısıtlamalar da dahil olmak üzere çeşitli nedenlerle olabilir. Adın ve ortak ön eklerin "Genel\" ve "Yerel\" büyük/küçük harfe duyarlı olduğunu unutmayın.

-veya-

Başka bir hata oluştu. Özelliği HResult daha fazla bilgi sağlayabilir.

Yalnızca Windows: name bilinmeyen bir ad alanı belirtti. Daha fazla bilgi için bkz . Nesne Adları .

name Çok uzun. Uzunluk kısıtlamaları işletim sistemine veya yapılandırmaya bağlı olabilir.

Sağlanan name ile bir eşitleme nesnesi oluşturulamıyor. Farklı türde bir eşitleme nesnesi aynı ada sahip olabilir.

Açıklamalar

name bir ad alanı belirtmek için veya Local\ ön ekine Global\ sahip olabilir. Ad alanı belirtildiğinde Global , eşitleme nesnesi sistemdeki tüm işlemlerle paylaşılabilir. Local Ad alanı belirtilmediğinde de varsayılan olan ad alanı belirtildiğinde, eşitleme nesnesi aynı oturumdaki işlemlerle paylaşılabilir. Windows'da oturum, oturum açma oturumudur ve hizmetler genellikle etkileşimli olmayan farklı bir oturumda çalışır. Unix benzeri işletim sistemlerinde her kabuğun kendi oturumu vardır. Oturum yerel eşitleme nesneleri, tümü aynı oturumda çalıştırıldığı bir üst/alt ilişki ile işlemler arasında eşitleme için uygun olabilir. Windows'da eşitleme nesnesi adları hakkında daha fazla bilgi için bkz. Nesne Adları.

bir name sağlanırsa ve istenen türdeki bir eşitleme nesnesi ad alanında zaten varsa, var olan eşitleme nesnesi açılır. Ad alanında farklı türde bir eşitleme nesnesi zaten varsa, bir WaitHandleCannotBeOpenedException oluşturulur. Aksi takdirde, yeni bir eşitleme nesnesi oluşturulur.

Dikkat

Varsayılan olarak, adlandırılmış bir mutex onu oluşturan kullanıcıyla sınırlı değildir. Diğer kullanıcılar mutex'i açabilir ve kullanabilir; örneğin, mutex'e girerek ve mutex'dan çıkmayarak müdahale edebilir. Belirli kullanıcılara erişimi kısıtlamak için adlandırılmış mutex'i oluştururken bir MutexSecurity geçirebilirsiniz. Kod çalıştıran güvenilmeyen kullanıcıların bulunabileceği sistemlerde erişim kısıtlamaları olmadan adlandırılmış mutexes kullanmaktan kaçının.

Şunlara uygulanır