AccessCheckAndAuditAlarmW

セキュリティ記述子が、呼び出し元スレッドが偽装しているクライアントに対して指定された一連のアクセス権を許可するかどうかを判定する。

AccessCheckAndAuditAlarmW SubsystemName, HandleId, ObjectTypeName, ObjectName, SecurityDescriptor, DesiredAccess, GenericMapping, ObjectCreation, GrantedAccess, AccessStatus, pfGenerateOnClose

SubsystemName : [wstr] 関数を呼び出しているサブシステムの名前を指定する、null 終端文字列へのポインタ。この文字列は関数が生成する監査メッセージに表示される。
HandleId : [intptr] クライアントのオブジェクトに対するハンドルを表す一意な値へのポインタ。アクセスが拒否された場合、システムはこの値を無視する。
ObjectTypeName : [wstr] 作成中またはアクセス中のオブジェクトの種類を指定する、null 終端文字列へのポインタ。この文字列は関数が生成する監査メッセージに表示される。
ObjectName : [wstr] 作成中またはアクセス中のオブジェクトの名前を指定する、null 終端文字列へのポインタ。この文字列は関数が生成する監査メッセージに表示される。
SecurityDescriptor : [int] アクセスチェック対象の SECURITY_DESCRIPTOR 構造体へのポインタ。
DesiredAccess : [int] チェックするアクセス権を指定するアクセスマスク。このマスクは MapGenericMask 関数によって汎用アクセス権を含まないようにマッピング済みでなければならない。このパラメータが MAXIMUM_ALLOWED の場合、関数はセキュリティ記述子がクライアントに対して許可する最大のアクセス権を示すように GrantedAccess アクセスマスクを設定する。
GenericMapping : [var] アクセスチェック対象のオブジェクトに関連付けられた GENERIC_MAPPING 構造体へのポインタ。
ObjectCreation : [int] アクセスが許可されたときに呼び出し側アプリケーションが新しいオブジェクトを作成するかどうかを決定するフラグ。TRUE はアプリケーションが新しいオブジェクトを作成することを示し、FALSE はアプリケーションが既存のオブジェクトを開くことを示す。
GrantedAccess : [var] 許可されたアクセス権を受け取るアクセスマスクへのポインタ。AccessStatus が FALSE に設定された場合、関数はアクセスマスクを 0 に設定する。関数が失敗した場合は、アクセスマスクを設定しない。
AccessStatus : [var] アクセスチェックの結果を受け取る変数へのポインタ。セキュリティ記述子がクライアントに対して要求されたアクセス権を許可する場合、AccessStatus には TRUE が設定される。そうでない場合は FALSE が設定される。
pfGenerateOnClose : [var] 関数の復帰時に監査生成ルーチンがセットするフラグへのポインタ。オブジェクトハンドルを閉じるときに ObjectCloseAuditAlarm 関数にこのフラグを渡す。

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

解説

セキュリティ記述子が、呼び出し元スレッドが偽装しているクライアントに対して指定された一連のアクセス権を許可するかどうかを判定する。

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

[備考]
詳細は「How AccessCheck Works」概説を参照のこと。AccessCheckAndAuditAlarm
関数は、呼び出し元プロセスが SE_AUDIT_NAME
特権を有効にしている必要がある。この特権は、呼び出し元プロセスのプライマリトークンに対してテストされ、スレッドの偽装トークンは対象とならない。呼び出し元スレッドがクライアントを偽装していない場合、AccessCheckAndAuditAlarm
関数は失敗する。

情報

プラグイン / モジュール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