<Return[S]><Top>

SetSecurityInfo

Declare Function Api_SetSecurityInfo& Lib "advapi32" Alias "SetSecurityInfo" (ByVal handle&, ByRef ObjectType As SE_OBJECT_TYPE, ByVal SecurityInfo&, ByRef pOwner As SID, ByRef psidGroup As SID, ByVal Dacl As MembersOf_PACL, ByVal pSacl As MembersOf_PACL)

Declare Function SetSecurityInfo Lib "advapi32" Alias "SetSecurityInfo" (ByVal handle As Long, ByRef ObjectType As SE_OBJECT_TYPE, ByVal SecurityInfo As Long, ByRef psidOwner As SID, ByRef psidGroup As SID, ByVal pDacl As Struct_MembersOf_PACL, ByVal pSacl As Struct_MembersOf_PACL) As Long

指定されたオブジェクトのセキュリティ記述子に、指定されたセキュリティ情報を設定する。呼び出し側はハンドルを使って、オブジェクトを識別する。

パラメータ
handle
    セキュリティ情報を設定するオブジェクトのハンドルを指定する。
ObjectType
    handle パラメータが識別するオブジェクトのタイプを示すために、 列挙型のいずれかの値を指定する。
SecurityInfo
    設定するセキュリティ記述子の構成要素を指定する。このパラメータには、次の値を任意に組み合わせて指定することができる。

    値                                                         

意味                                                                                                                    

    OWNER_SECURITY_INFORMATION

 

 

オブジェクトの所有者 SID(セキュリティ ID)を設定する。psidOwner パラメータは、新しい SID を指する。handle パラメータは WRITE_OWNER アクセス権を備えていなければならない。または、呼び出し側のプロセスはオブジェクトの所有者であるか、SE_TAKE_OWNERSHIP_NAME 特権を有効にしておかなければならない。

    DACL_SECURITY_INFORMATION

 

 

オブジェクトのプライマリグループ SID を設定する。PsidGroup パラメータは、新しい SID を指す。Handle パラメータが WRITE_OWNER アクセス権を備えているか、呼び出し側のプロセスがオブジェクトの所有者でなければならない。

    DACL_SECURITY_INFORMATION

 

 

オブジェクトの DACL(随意アクセス制御リスト)を設定する。pDacl パラメータは、新しい DACL を指す。handle パラメータが WRITE_DAC アクセス権を備えているか、呼び出し側のプロセスがオブジェクトの所有者でなければならない。

    SACL_SECURITY_INFORMATION

 

 

 

オブジェクトの SACL(システムアクセス制御リスト)を設定する。pSacl パラメータは、新しい SACL を指す。handle パラメータは、ACCESS_SYSTEM_SECURITY アクセス権を備えていなければならない。このアクセス権を取得する適切な方法は、呼び出し側の現在のトークン内で SE_SECURITY_NAME を有効にし、ACCESS_SYSTEM_SECURITY アクセスを行うハンドルを開き、最後にこの特権を無効にすることである。

psidOwner
    オブジェクトの所有者を識別する SID へのポインタを指定する。この SID は、セキュリティ記述子の所有者 SID として割り当て可能なもの

    でなければならない。SecurityInfo パラメータには、OWNER_SECURITY_INFORMATION フラグをセットする必要がある。所有者 SID

    を設定しない場合、このパラメータは NULL でもかまわない。
psidGroup
    オブジェクトのプライマリグループを識別する SID へのポインタを指定する。SecurityInfo パラメータには、

    GROUP_SECURITY_INFORMATION フラグをセットする必要がある。プライマリグループ SID を設定しない場合、このパラメータは

    NULL でもかまわない。
pDacl
    オブジェクトの新しい DACL へのポインタを指定する。SecurityInfo パラメータには、DACL_SECURITY_INFORMATION フラグをセットす

    る必要がある。DACL を設定しない場合、このパラメータは NULL でもかまわない。
pSacl
    オブジェクトの新しい SACL へのポインタを指定する。SecurityInfo パラメータには、SACL_SECURITY_INFORMATION フラグをセットす

    る必要がある。SACL を設定しない場合、このパラメータは NULL でもかまわない。

戻り値
    関数が成功すると、ERROR_SUCCESS が返る。
    関数が失敗すると、WINERROR.H 内で定義されている 0 以外のエラーコードが返る。