ObjectOpenAuditAlarmW

クライアントアプリケーションがオブジェクトへのアクセスまたは新しいオブジェクトの作成を試みたときに監査メッセージを生成する。(ObjectOpenAuditAlarmW)

ObjectOpenAuditAlarmW SubsystemName, HandleId, ObjectTypeName, ObjectName, pSecurityDescriptor, ClientToken, DesiredAccess, GrantedAccess, Privileges, ObjectCreation, AccessGranted, GenerateOnClose

SubsystemName : [wstr] 関数を呼び出すサブシステムの名前を指定する null 終端文字列へのポインタ。この文字列は関数が生成する監査メッセージに現れる。
HandleId : [intptr] オブジェクトへのクライアントのハンドルを表す一意の値へのポインタ。アクセスが拒否された場合、このパラメータは無視される。クロスプラットフォーム互換性のため、このポインタが指す値は sizeof(LPVOID) バイト長でなければならない。
ObjectTypeName : [wstr] クライアントがアクセスを要求しているオブジェクトの型を指定する null 終端文字列へのポインタ。この文字列は関数が生成する監査メッセージに現れる。
ObjectName : [wstr] クライアントがアクセスを要求しているオブジェクトの名前を指定する null 終端文字列へのポインタ。この文字列は関数が生成する監査メッセージに現れる。
pSecurityDescriptor : [int] アクセスされているオブジェクトの SECURITY_DESCRIPTOR 構造体へのポインタ。
ClientToken : [intptr] 操作を要求するクライアントを表すアクセストークンを識別する。このハンドルはクライアントを偽装するスレッドのトークンを開くことによって取得する必要がある。トークンは TOKEN_QUERY アクセスで開く必要がある。
DesiredAccess : [int] 所望のアクセスマスクを指定する。このマスクは、汎用アクセス権を含まないように MapGenericMask 関数で事前にマップされている必要がある。
GrantedAccess : [int] 付与されるアクセス権を示すアクセスマスクを指定する。このアクセスマスクは、アクセスチェック関数のいずれかがその GrantedAccess パラメータに設定した値と同じであることが意図されている。アクセスチェック関数の例には AccessCheckAndAuditAlarm や AccessCheck がある。
Privileges : [var] アクセス試行に必要な特権のセットを指定する PRIVILEGE_SET 構造体へのポインタ。このパラメータは NULL でよい。
ObjectCreation : [int] アクセスが許可されたときにアプリケーションが新しいオブジェクトを作成するかどうかを決定するフラグを指定する。この値が TRUE の場合、アプリケーションは新しいオブジェクトを作成する。FALSE の場合、アプリケーションは既存のオブジェクトを開く。
AccessGranted : [int] AccessCheck などのアクセスチェック関数の以前の呼び出しでアクセスが許可されたか拒否されたかを示すフラグを指定する。アクセスが許可された場合、この値は TRUE である。そうでない場合は FALSE である。
GenerateOnClose : [var] 関数が戻るときに監査生成ルーチンによって設定されるフラグへのポインタ。オブジェクトハンドルが閉じられるときに、この値を ObjectCloseAuditAlarm 関数に渡す必要がある。

(プラグイン / モジュール : advapi32.dll)

解説

クライアントアプリケーションがオブジェクトへのアクセスまたは新しいオブジェクトの作成を試みたときに監査メッセージを生成する。(ObjectOpenAuditAlarmW)

[戻り値]
関数が成功した場合、戻り値は 0 以外である。関数が失敗した場合、戻り値は 0 である。拡張エラー情報を取得するには
GetLastError を呼び出す。

[備考]
ObjectOpenAuditAlarm 関数は、呼び出し元アプリケーションが SE_AUDIT_NAME
特権を有効にしていることを必要とする。この特権のテストは常に呼び出し元プロセスのプライマリトークンに対して実行され、スレッドの偽装トークンに対しては実行されない。これにより、呼び出し元プロセスは呼び出し中にクライアントを偽装できる。

情報

プラグイン / モジュールadvapi32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の advapi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_advapi32_gen2.hs