<Return[S]><Top>

SetNamedSecurityInfo

Declare Function Api_SetNamedSecurityInfo& Lib "Advapi32" Alias "SetNamedSecurityInfoA" (ByVal ObjName$, ByVal SE_OBJECT&, ByVal SecInfo&, ByVal pSid&, ByVal pSidGroup&, ByVal pDacl&, ByVal pSacl&)

Declare Function SetNamedSecurityInfo Lib "advapi32" Alias "SetNamedSecurityInfo" (ByVal pObjectName As String, 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

指定されたオブジェクトのセキュリティ記述子に、指定されたセキュリティ情報を設定する。呼び出し側は、オブジェクトを名前で識別する。

パラメータ

pObjectName
    セキュリティ情報を設定するオブジェクトの名前を指定する、NULL で終わる文字列へのポインタを指定する。NTFS ファイルシステム内のロ

    ーカルまたはリモートのファイルまたはディレクトリ、ネットワーク共有、レジストリキー、セマフォ、イベント、ミューテックス(相互排他オブジェク

    ト)、ファイルマッピング、待機可能タイマのいずれかの名前である。
ObjectType
    pObjectName パラメータが指定するオブジェクトのタイプを示すために、SE_OBJECT_TYPE 列挙型のいずれかの値を指定する。
SecurityInfo
    設定するセキュリティ情報のタイプを示す、一連の ビットフラグをセットする。このパラメータには、次の値を任意に組み合わせて指定すること

    ができる。
 

    値                                                         

意味                                                                                                              

    OWNER_SECURITY_INFORMATION

 

オブジェクトのセキュリティ記述子内に所有者 SID(セキュリティ ID)を設定する。psidOwner パラメータは、新しい SID を指する。

    GROUP_SECURITY_INFORMATION

 

オブジェクトのセキュリティ記述子内にプライマリグループ SID を設定する。psidGroup パラメータは、新しい SID を指す。

    DACL_SECURITY_INFORMATION

 

オブジェクトのセキュリティ記述子内に DACL(随意アクセス制御リスト)を設定する。pDacl パラメータは、新しい DACL を指す。

    SACL_SECURITY_INFORMATION

 

オブジェクトのセキュリティ記述子内に SACL(システムアクセス制御リスト)を設定する。pSacl パラメータは、新しい SACL を指す。

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

    でなければならない。SecurityInfo パラメータには、OWNER_SECURITY_INFORMATION フラグをセットする必要がある。呼び出し側

    は、オブジェクトに対して WRITE_OWNER アクセス権を備えているか、SE_TAKE_OWNERSHIP_NAME 特権を有効にしておかなけれ

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

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

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

    る必要がある。呼び出し側は、オブジェクトに対して WRITE_DAC アクセス権を備えているか、オブジェクトの所有者でなければならない。

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

    る必要がある。呼び出し側は、SE_SECURITY_NAME 特権を有効にしておかなければならない。SACL を設定しない場合、このパラメー

    タは NULL でもかまわない。

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