共用方式為


OpenEventA 函式 (synchapi.h)

開啟現有的具名事件物件。

語法

HANDLE OpenEventA(
  [in] DWORD  dwDesiredAccess,
  [in] BOOL   bInheritHandle,
  [in] LPCSTR lpName
);

參數

[in] dwDesiredAccess

事件物件的存取權。 如果指定之物件的安全性描述項不允許呼叫進程的要求存取權,則函式會失敗。 如需訪問許可權清單,請參閱 Synchronization Object Security and Access Rights

[in] bInheritHandle

如果此值 TRUE,則此進程所建立的進程將會繼承句柄。 否則,進程不會繼承此句柄。

[in] lpName

要開啟的事件名稱。 名稱比較會區分大小寫。

此函式可以在私用命名空間中開啟物件。 如需詳細資訊,請參閱 物件命名空間

終端機服務:名稱可以有 “Global” 或 “Local” 前置詞,以明確開啟全域或會話命名空間中的物件。 名稱的其餘部分可以包含反斜杠字元 (\) 以外的任何字元。 如需詳細資訊,請參閱 Kernel Object Namespaces

注意 快速使用者切換是使用終端機服務會話實作。 第一個登入的使用者會使用會話 0、下一個登入的使用者會使用會話 1 等等。 核心物件名稱必須遵循終端機服務概述的指導方針,應用程式才能支援多個使用者。

傳回值

如果函式成功,傳回值就是事件物件的句柄。

如果函式失敗,則傳回值 NULL。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

言論

OpenEvent 函式可讓多個進程開啟相同事件物件的句柄。 只有在某些進程已經使用 createEvent 函式 建立事件時,函式才會成功。 呼叫進程可以在任何需要事件物件的句柄的函式中使用傳回的句柄,但受限於 dwDesiredAccess 參數中指定的存取限制。

您可以使用 DuplicateHandle 函式來複製句柄。 使用 CloseHandle 函式來關閉句柄。 系統會在進程終止時自動關閉句柄。 事件對象在最後一個句柄關閉時會終結。

注意

synchapi.h 標頭會將 OpenEvent 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows XP [傳統型應用程式 |UWP 應用程式]
支援的最低伺服器 Windows Server 2003 [傳統型應用程式 |UWP 應用程式]
目標平臺 窗戶
標頭 synchapi.h (包括 Windows Server 2003、Windows Vista、Windows 7、Windows Server 2008 Windows Server 2008 R2 上的 Windows.h)
連結庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

CloseHandle

CreateEvent

CreateProcess

DuplicateHandle

事件物件

物件名稱

PulseEvent

ResetEvent

SetEvent

同步處理函式