OpenEventA 関数 (synchapi.h)
既存の名前付きイベント オブジェクトを開きます。
構文
HANDLE OpenEventA(
[in] DWORD dwDesiredAccess,
[in] BOOL bInheritHandle,
[in] LPCSTR lpName
);
パラメーター
[in] dwDesiredAccess
イベント オブジェクトへのアクセス。 指定したオブジェクトのセキュリティ記述子が呼び出し元プロセスに対して要求されたアクセスを許可していない場合、関数は失敗します。 アクセス権の一覧については、「同期オブジェクトのセキュリティとアクセス権の
[in] bInheritHandle
この値が TRUE
[in] lpName
開くイベントの名前。 名前の比較では大文字と小文字が区別されます。
この関数は、プライベート名前空間内のオブジェクトを開くことができます。 詳細については、「オブジェクト名前空間の」を参照してください。
ターミナル サービス: グローバル名前空間またはセッション名前空間でオブジェクトを明示的に開くために、名前に "Global" または "Local" プレフィックスを付けることができます。 名前の残りの部分には、円記号 (\) を除く任意の文字を含めることができます。 詳細については、「カーネル オブジェクト名前空間
注 高速ユーザー切り替えは、ターミナル サービス セッションを使用して実装されます。 ログオンする最初のユーザーはセッション 0 を使用し、次にログオンするユーザーはセッション 1 を使用します。 カーネル オブジェクト名は、アプリケーションが複数のユーザーをサポートできるように、ターミナル サービスに関して概説されているガイドラインに従う必要があります。
戻り値
関数が成功した場合、戻り値はイベント オブジェクトへのハンドルです。
関数が失敗した場合、戻り値は NULL
備考
OpenEvent 関数を使用すると、複数のプロセスが同じイベント オブジェクトのハンドルを開きます。 この関数は、CreateEvent 関数を使用して、いくつかのプロセスによってイベントが既に作成されている場合にのみ成功します。 呼び出し元のプロセスは、dwDesiredAccess パラメーターで指定されたアクセスの制限に従って、イベント オブジェクトへのハンドルを必要とする任意の関数で返されたハンドルを使用できます。
ハンドルは、DuplicateHandle 関数を使用して複製できます。 CloseHandle 関数を使用してハンドルを閉じます。 プロセスが終了すると、システムはハンドルを自動的に閉じます。 イベント オブジェクトは、最後のハンドルが閉じられたときに破棄されます。
手記
synchapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして OpenEvent を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | 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 の