CreatePrivateObjectSecurityWithMultipleInheritance

本関数を呼び出すリソースマネージャが作成する新しいプライベートオブジェクトのための自己相対セキュリティ記述子を割り当てて初期化する。(CreatePrivateObjectSecurityWithMultipleInheritance)

CreatePrivateObjectSecurityWithMultipleInheritance ParentDescriptor, CreatorDescriptor, NewDescriptor, ObjectTypes, GuidCount, IsContainerObject, AutoInheritFlags, Token, GenericMapping

ParentDescriptor : [int] オブジェクトの親コンテナのセキュリティ記述子へのポインタ。親コンテナがない場合、このパラメータは NULL にする。
CreatorDescriptor : [int] オブジェクトの作成者が提供するセキュリティ記述子へのポインタ。オブジェクトの作成者が新しいオブジェクト用のセキュリティ情報を明示的に渡さない場合、このパラメータは NULL にできる。あるいは、このパラメータは既定のセキュリティ記述子を指すこともできる。
NewDescriptor : [var] 新しく割り当てられた自己相対セキュリティ記述子へのポインタを受け取る変数へのポインタ。セキュリティ記述子の使用を終えたら、DestroyPrivateObjectSecurity 関数を呼び出して解放する。
ObjectTypes : [var] NewDescriptor に関連付けられたオブジェクトのオブジェクト型またはクラスを識別する GUID 構造体へのポインタの配列。Active Directory オブジェクトの場合、この配列にはオブジェクトの構造クラスとアタッチされているすべての補助クラスのクラス GUID へのポインタが含まれる。オブジェクトが GUID を持たない場合、ObjectTypes を NULL に設定する。
GuidCount : [int] ObjectTypes パラメータに存在する GUID の数。
IsContainerObject : [int] 新しいオブジェクトが他のオブジェクトを含めるかどうかを指定する。TRUE は新しいオブジェクトがコンテナであることを示し、FALSE は新しいオブジェクトがコンテナでないことを示す。
AutoInheritFlags : [int] 
Token : [intptr] オブジェクトが作成される代理となるクライアントプロセスのアクセストークンへのハンドル。これが偽装トークンである場合、SecurityIdentification レベル以上でなければならない。SecurityIdentification 偽装レベルの完全な説明については、SECURITY_IMPERSONATION_LEVEL 列挙型を参照のこと。
GenericMapping : [var] オブジェクトに対する各汎用権限から特定権限へのマッピングを指定する GENERIC_MAPPING 構造体へのポインタ。

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

解説

本関数を呼び出すリソースマネージャが作成する新しいプライベートオブジェクトのための自己相対セキュリティ記述子を割り当てて初期化する。(CreatePrivateObjectSecurityWithMultipleInheritance)

[戻り値]
関数が成功した場合、戻り値は 0 以外の値となる。関数が失敗した場合、戻り値は 0 となる。拡張エラー情報を取得するには
GetLastError を呼び出す。拡張エラーコードとその意味の一部を次の表に示す。
(以下省略)

[備考]
CreatePrivateObjectSecurityEx 関数は、ObjectTypes に単一の GUID を指定して
CreatePrivateObjectSecurityWithMultipleInheritance
関数を呼び出すのと同一である。AutoInheritFlags は、SECURITY_DESCRIPTOR 構造体の Control
メンバ内の類似名のビットとは異なる。制御ビットの説明については SECURITY_DESCRIPTOR_CONTROL
を参照のこと。AutoInheritFlags が SEF_DACL_AUTO_INHERIT
ビットを指定している場合、関数は新しいセキュリティ記述子内の DACL に以下のルールを適用する:
(以下省略)

情報

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