MutexAcl.Create(Boolean, String, Boolean, MutexSecurity) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Ö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 name
null
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'den (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.