EventWaitHandle.TryOpenExisting Metoda

Definice

Otevře zadanou pojmenovanou událost synchronizace, pokud již existuje, a vrátí hodnotu, která označuje, jestli operace proběhla úspěšně.

Přetížení

Name Description
TryOpenExisting(String, EventWaitHandle)

Otevře zadanou pojmenovanou událost synchronizace, pokud již existuje, a vrátí hodnotu, která označuje, jestli operace proběhla úspěšně.

TryOpenExisting(String, EventWaitHandleRights, EventWaitHandle)

Otevře zadanou pojmenovanou událost synchronizace, pokud již existuje, s požadovaným přístupem zabezpečení a vrátí hodnotu, která označuje, jestli operace proběhla úspěšně.

TryOpenExisting(String, NamedWaitHandleOptions, EventWaitHandle)

Otevře zadanou pojmenovanou událost synchronizace, pokud již existuje, a vrátí hodnotu, která označuje, jestli operace proběhla úspěšně. Pokud jsou možnosti nastaveny pouze na aktuálního uživatele, ověří se u volajícího uživatele řízení přístupu objektu.

TryOpenExisting(String, EventWaitHandle)

Zdroj:
EventWaitHandle.cs
Zdroj:
EventWaitHandle.cs
Zdroj:
EventWaitHandle.cs
Zdroj:
EventWaitHandle.cs
Zdroj:
EventWaitHandle.cs

Otevře zadanou pojmenovanou událost synchronizace, pokud již existuje, a vrátí hodnotu, která označuje, jestli operace proběhla úspěšně.

public:
 static bool TryOpenExisting(System::String ^ name, [Runtime::InteropServices::Out] System::Threading::EventWaitHandle ^ % result);
[System.Security.SecurityCritical]
public static bool TryOpenExisting(string name, out System.Threading.EventWaitHandle result);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static bool TryOpenExisting(string name, out System.Threading.EventWaitHandle? result);
public static bool TryOpenExisting(string name, out System.Threading.EventWaitHandle result);
public static bool TryOpenExisting(string name, out System.Threading.EventWaitHandle? result);
[<System.Security.SecurityCritical>]
static member TryOpenExisting : string * EventWaitHandle -> bool
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member TryOpenExisting : string * EventWaitHandle -> bool
static member TryOpenExisting : string * EventWaitHandle -> bool
Public Shared Function TryOpenExisting (name As String, ByRef result As EventWaitHandle) As Boolean

Parametry

name
String

Název objektu synchronizace, který se má otevřít a sdílet s jinými procesy. Název je citlivý na velikost písmen. Znak zpětného lomítka (\) je vyhrazen a lze jej použít pouze k určení oboru názvů. Další informace o oborech názvů najdete v části Poznámky. V závislosti na operačním systému můžou existovat další omezení názvu. Například v operačních systémech se systémem Unix musí být název po vyloučení oboru názvů platným názvem souboru.

result
EventWaitHandle

Když tato metoda vrátí, obsahuje EventWaitHandle objekt, který představuje pojmenovanou synchronizační událost, pokud volání bylo úspěšné, nebo null pokud volání selhalo. Tento parametr se považuje za neinicializovaný.

Návraty

truepokud se pojmenovaná synchronizační událost úspěšně otevřela; v opačném případě . false V některých případech false může být vrácena neplatná jména.

Atributy

Výjimky

name je prázdný řetězec.

nebo

pouze .NET Framework: name je delší než MAX_PATH (260 znaků).

name je null.

name je neplatný. Může to být z různých důvodů, včetně některých omezení, která může operační systém umístit, například neznámé předpony nebo neplatné znaky. Všimněte si, že název a běžné předpony "Global\" a "Local\" rozlišují malá a velká písmena. U některých neplatných názvů může metoda místo toho vrátit false .

nebo

Došlo k nějaké jiné chybě. Vlastnost HResult může poskytnout další informace.

name je příliš dlouhý. Omezení délky můžou záviset na operačním systému nebo konfiguraci.

Pojmenovaná událost existuje, ale uživatel nemá požadovaný přístup zabezpečení.

Poznámky

Může name mít předponu Global\ nebo Local\ zadat obor názvů. Global Po zadání oboru názvů lze synchronizační objekt sdílet s libovolnými procesy v systému. Local Pokud je zadán obor názvů, což je také výchozí, pokud není zadán žádný obor názvů, lze synchronizační objekt sdílet s procesy ve stejné relaci. Na Windows je relace relace přihlášení a služby se obvykle spouští v jiné neinteraktivní relaci. V operačních systémech Unix má každé prostředí vlastní relaci. Objekty místní synchronizace relace můžou být vhodné pro synchronizaci mezi procesy se vztahem nadřazenosti nebo podřízenosti, kde se všechny spouští ve stejné relaci. Další informace o názvech synchronizačních objektů v Windows najdete v tématu Názvové objektyobjektu.

Pokud v oboru názvů existuje objekt synchronizace požadovaného typu, otevře se existující objekt synchronizace. Pokud synchronizační objekt v oboru názvů neexistuje nebo existuje objekt synchronizace jiného typu v oboru názvů, false je vrácen.

Chcete-li vytvořit systémovou událost, pokud ještě neexistuje, použijte jeden z EventWaitHandle konstruktorů, které mají name parametr.

Pokud si nejste jisti, zda pojmenovaná synchronizační událost existuje, použijte tuto metodu přetížení namísto OpenExisting(String) přetížení metody, která vyvolá výjimku, pokud synchronizační událost neexistuje.

Toto přetížení metody je ekvivalentní volání TryOpenExisting(String, EventWaitHandleRights, EventWaitHandle) přetížení metody a určení EventWaitHandleRights.Synchronize a EventWaitHandleRights.Modify práva v kombinaci pomocí bitové OPERACE OR. Určení příznaku EventWaitHandleRights.Synchronize umožňuje vláknu čekat na pojmenovanou systémovou událost a zadáním příznaku EventWaitHandleRights.Modify umožňuje vlákno volat Set a Reset metody.

Více volání této metody, které používají stejnou hodnotu pro name nemusí nutně vrátit stejný EventWaitHandle objekt, i když vrácené objekty představují stejnou pojmenovanou systémovou událost.

Platí pro

TryOpenExisting(String, EventWaitHandleRights, EventWaitHandle)

Otevře zadanou pojmenovanou událost synchronizace, pokud již existuje, s požadovaným přístupem zabezpečení a vrátí hodnotu, která označuje, jestli operace proběhla úspěšně.

public:
 static bool TryOpenExisting(System::String ^ name, System::Security::AccessControl::EventWaitHandleRights rights, [Runtime::InteropServices::Out] System::Threading::EventWaitHandle ^ % result);
[System.Security.SecurityCritical]
public static bool TryOpenExisting(string name, System.Security.AccessControl.EventWaitHandleRights rights, out System.Threading.EventWaitHandle result);
[<System.Security.SecurityCritical>]
static member TryOpenExisting : string * System.Security.AccessControl.EventWaitHandleRights * EventWaitHandle -> bool
Public Shared Function TryOpenExisting (name As String, rights As EventWaitHandleRights, ByRef result As EventWaitHandle) As Boolean

Parametry

name
String

Název objektu synchronizace, který se má otevřít a sdílet s jinými procesy. Název je citlivý na velikost písmen. Znak zpětného lomítka (\) je vyhrazen a lze jej použít pouze k určení oboru názvů. Další informace o oborech názvů najdete v části Poznámky. V závislosti na operačním systému můžou existovat další omezení názvu. Například v operačních systémech se systémem Unix musí být název po vyloučení oboru názvů platným názvem souboru.

rights
EventWaitHandleRights

Bitové kombinace hodnot výčtu, které představují požadovaný přístup zabezpečení.

result
EventWaitHandle

Když tato metoda vrátí, obsahuje EventWaitHandle objekt, který představuje pojmenovanou synchronizační událost, pokud volání bylo úspěšné, nebo null pokud volání selhalo. Tento parametr se považuje za neinicializovaný.

Návraty

truepokud se pojmenovaná synchronizační událost úspěšně otevřela; v opačném případě . false V některých případech false může být vrácena neplatná jména.

Atributy

Výjimky

name je prázdný řetězec.

nebo

pouze .NET Framework: name je delší než MAX_PATH (260 znaků).

name je null.

name je neplatný. Může to být z různých důvodů, včetně některých omezení, která může operační systém umístit, například neznámé předpony nebo neplatné znaky. Všimněte si, že název a běžné předpony "Global\" a "Local\" rozlišují malá a velká písmena. U některých neplatných názvů může metoda místo toho vrátit false .

nebo

Došlo k nějaké jiné chybě. Vlastnost HResult může poskytnout další informace.

name je příliš dlouhý. Omezení délky můžou záviset na operačním systému nebo konfiguraci.

Pojmenovaná událost existuje, ale uživatel nemá požadovaný přístup zabezpečení.

Poznámky

Může name mít předponu Global\ nebo Local\ zadat obor názvů. Global Po zadání oboru názvů lze synchronizační objekt sdílet s libovolnými procesy v systému. Local Pokud je zadán obor názvů, což je také výchozí, pokud není zadán žádný obor názvů, lze synchronizační objekt sdílet s procesy ve stejné relaci. Na Windows je relace relace přihlášení a služby se obvykle spouští v jiné neinteraktivní relaci. V operačních systémech Unix má každé prostředí vlastní relaci. Objekty místní synchronizace relace můžou být vhodné pro synchronizaci mezi procesy se vztahem nadřazenosti nebo podřízenosti, kde se všechny spouští ve stejné relaci. Další informace o názvech synchronizačních objektů v Windows najdete v tématu Názvové objektyobjektu.

Pokud v oboru názvů existuje objekt synchronizace požadovaného typu, otevře se existující objekt synchronizace. Pokud synchronizační objekt v oboru názvů neexistuje nebo existuje objekt synchronizace jiného typu v oboru názvů, false je vrácen.

Chcete-li vytvořit systémovou událost, pokud ještě neexistuje, použijte jeden z EventWaitHandle konstruktorů, které mají name parametr.

Pokud si nejste jisti, zda pojmenovaná synchronizační událost existuje, použijte tuto metodu přetížení namísto OpenExisting(String, EventWaitHandleRights) přetížení metody, která vyvolá výjimku, pokud synchronizační událost neexistuje.

Parametr rights musí obsahovat EventWaitHandleRights.Synchronize příznak, který umožňuje vláknům čekat na událost a EventWaitHandleRights.Modify příznak, aby vlákna mohla volat Set a Reset metody.

Více volání této metody, které používají stejnou hodnotu pro name nemusí nutně vrátit stejný EventWaitHandle objekt, i když vrácené objekty představují stejnou pojmenovanou systémovou událost.

Platí pro

TryOpenExisting(String, NamedWaitHandleOptions, EventWaitHandle)

Zdroj:
EventWaitHandle.cs
Zdroj:
EventWaitHandle.cs

Otevře zadanou pojmenovanou událost synchronizace, pokud již existuje, a vrátí hodnotu, která označuje, jestli operace proběhla úspěšně. Pokud jsou možnosti nastaveny pouze na aktuálního uživatele, ověří se u volajícího uživatele řízení přístupu objektu.

public:
 static bool TryOpenExisting(System::String ^ name, System::Threading::NamedWaitHandleOptions options, [Runtime::InteropServices::Out] System::Threading::EventWaitHandle ^ % result);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static bool TryOpenExisting(string name, System.Threading.NamedWaitHandleOptions options, out System.Threading.EventWaitHandle? result);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member TryOpenExisting : string * System.Threading.NamedWaitHandleOptions * EventWaitHandle -> bool
Public Shared Function TryOpenExisting (name As String, options As NamedWaitHandleOptions, ByRef result As EventWaitHandle) As Boolean

Parametry

name
String

Název objektu synchronizace, který se má otevřít a sdílet s jinými procesy. Název je citlivý na velikost písmen.

options
NamedWaitHandleOptions

Možnosti oboru pro pojmenovaný popisovač. Ve výchozím nastavení je přístup omezený pouze na aktuálního uživatele a aktuální relaci. Zadané možnosti mohou ovlivnit obor názvů názvu a přístupu k podkladovému objektu popisovače.

result
EventWaitHandle

Když tato metoda vrátí, obsahuje EventWaitHandle objekt, který představuje pojmenovanou synchronizační událost, pokud volání bylo úspěšné, nebo null pokud volání selhalo. Tento parametr se považuje za neinicializovaný.

Návraty

truepokud se pojmenovaná synchronizační událost úspěšně otevřela; v opačném případě . false V některých případech false může být vrácena neplatná jména.

Atributy

Výjimky

name je prázdný řetězec.

name je null.

name je neplatný. Může to být z různých důvodů, včetně některých omezení, která může operační systém umístit, například neznámé předpony nebo neplatné znaky. Všimněte si, že název a běžné předpony "Global\" a "Local\" rozlišují malá a velká písmena. U některých neplatných názvů může metoda místo toho vrátit false .

nebo

Došlo k nějaké jiné chybě. Vlastnost HResult může poskytnout další informace.

name je příliš dlouhý. Omezení délky můžou záviset na operačním systému nebo konfiguraci.

Pojmenovaná událost existuje, ale uživatel nemá požadovaný přístup zabezpečení.

Poznámky

Pokud v oboru názvů existuje objekt synchronizace požadovaného typu, otevře se existující objekt synchronizace. Pokud options však určuje přístup omezený na aktuálního uživatele a synchronizační objekt není kompatibilní s ním, false vrátí se. Pokud synchronizační objekt v oboru názvů neexistuje nebo existuje objekt synchronizace jiného typu v oboru názvů, false vrátí se také.

Chcete-li vytvořit systémovou událost, pokud ještě neexistuje, použijte jeden z EventWaitHandle konstruktorů, které mají name parametr.

Pokud si nejste jisti, zda pojmenovaná synchronizační událost existuje, použijte tuto metodu přetížení namísto OpenExisting(String) přetížení metody, která vyvolá výjimku, pokud synchronizační událost neexistuje.

Více volání této metody, které používají stejnou hodnotu pro name nemusí nutně vrátit stejný EventWaitHandle objekt, i když vrácené objekty představují stejnou pojmenovanou systémovou událost.

Platí pro