AccessCheck

セキュリティ記述子が、アクセストークンによって識別されるクライアントに対して指定された一連のアクセス権を許可するかどうかを判定する。(AccessCheck)

AccessCheck pSecurityDescriptor, ClientToken, DesiredAccess, GenericMapping, PrivilegeSet, PrivilegeSetLength, GrantedAccess, AccessStatus

pSecurityDescriptor : [int] アクセスチェック対象の SECURITY_DESCRIPTOR 構造体へのポインタ。
ClientToken : [intptr] アクセスを試みるクライアントを表す偽装トークンへのハンドル。このハンドルは対象のトークンに対する TOKEN_QUERY アクセス権を持っている必要がある。そうでない場合、関数は ERROR_ACCESS_DENIED で失敗する。
DesiredAccess : [int] チェックするアクセス権を指定するアクセスマスク。このマスクは MapGenericMask 関数によって汎用アクセス権を含まないようにマッピング済みでなければならない。
GenericMapping : [var] アクセスチェック対象のオブジェクトに関連付けられた GENERIC_MAPPING 構造体へのポインタ。
PrivilegeSet : [var] アクセス検証の実行に使用された特権を受け取る PRIVILEGE_SET 構造体へのポインタ。特権が一切使用されなかった場合、関数は PrivilegeCount メンバを 0 に設定する。
PrivilegeSetLength : [var] PrivilegeSet パラメータが指すバッファのサイズ(バイト単位)。
GrantedAccess : [var] 許可されたアクセス権を受け取るアクセスマスクへのポインタ。AccessStatus が FALSE に設定された場合、関数はアクセスマスクを 0 に設定する。関数が失敗した場合は、アクセスマスクを設定しない。
AccessStatus : [var] アクセスチェックの結果を受け取る変数へのポインタ。セキュリティ記述子がアクセストークンによって識別されるクライアントに対して要求されたアクセス権を許可する場合、AccessStatus には TRUE が設定される。そうでない場合は FALSE が設定され、GetLastError を呼び出すことで拡張エラー情報を取得できる。

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

解説

セキュリティ記述子が、アクセストークンによって識別されるクライアントに対して指定された一連のアクセス権を許可するかどうかを判定する。(AccessCheck)

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

[備考]
詳細は「How AccessCheck Works」概説を参照のこと。AccessCheck
関数は、指定されたセキュリティ記述子と指定されたアクセストークンを比較し、アクセスが許可されたか拒否されたかを AccessStatus
パラメータで返す。アクセスが許可された場合、要求されたアクセスマスクがオブジェクトの許可済みアクセスマスクとなる。セキュリティ記述子の
DACL が NULL の場合、AccessStatus パラメータは TRUE
を返し、クライアントが要求されたアクセス権を持っていることを示す。セキュリティ記述子が所有者 SID とグループ SID
を含まない場合、AccessCheck 関数は ERROR_INVALID_SECURITY_DESCR
で失敗する。AccessCheck
関数は監査を生成しない。アプリケーションでアクセスチェック時の監査が必要な場合は、AccessCheck の代わりに
AccessCheckAndAuditAlarm、AccessCheckByTypeAndAuditAlarm、AccessCheckByTypeResultListAndAuditAlarm、AccessCheckByTypeResultListAndAuditAlarmByHandle
などの関数を使用する。

情報

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