<Return[A]><Top>

AllocateAndInitializeSid

Declare Function Api_AllocateAndInitializeSid& Lib "advapi32" Alias "AllocateAndInitializeSid" (pIA As SID_IDENTIFIER_AUTHORITY, ByVal SACount As Byte, ByVal SA0&, ByVal SA1&, ByVal SA2&, ByVal SA3&, ByVal SA4&, ByVal SA5&, ByVal SA6&, ByVal SA7&, pSid&)

Declare Function AllocateAndInitializeSid Lib "advapi32" Alias "AllocateAndInitializeSid" (pIdentifierAuthority As SID_IDENTIFIER_AUTHORITY, ByVal nSubAuthorityCount As Byte, ByVal nSubAuthority0 As Long, ByVal nSubAuthority1 As Long, ByVal nSubAuthority2 As Long, ByVal nSubAuthority3 As Long, ByVal nSubAuthority4 As Long, ByVal nSubAuthority5 As Long, ByVal nSubAuthority6 As Long, ByVal nSubAuthority7 As Long, lpPSid As Long) As Long

セキュリティ識別子(SID)を割り当て、最大8つの副権限(サブオーソリティ)を使って初期化。

パラメータ
pIdentifierAuthority
    SID_IDENTIFIER_AUTHORITY 構造体へのポインタで、トップレベルの識別子に、SID 内で設定したい副権限の値を割り当てる。
nSubAuthorityCount
    SID 内に配置したい副権限の数を指定する。このパラメータは、意味のある値を持つ副権限パラメータの数も識別する。このパラメータは、

    1〜8 のいずれかの値を保持していなければならない。
    たとえば、値 3 を指定すると、dwSubAuthority0、dwSubAuthority1、dwSubAuthority2 の各パラメータで指定された副権限の値に意

    味を持たせ、その他のパラメータを無視するよう指定することになる。
dwSubAuthority0
    SID 内に配置したい副権限の値を指定する。
dwSubAuthority1
    SID 内に配置したい副権限の値を指定する。
dwSubAuthority2
    SID 内に配置したい副権限の値を指定する。
dwSubAuthority3
    SID 内に配置したい副権限の値を指定する。
dwSubAuthority4
    SID 内に配置したい副権限の値を指定する。
dwSubAuthority5
    SID 内に配置したい副権限の値を指定する。
dwSubAuthority6
    SID 内に配置したい副権限の値を指定する。
dwSubAuthority7
    SID 内に配置したい副権限の値を指定する。
pSid
    割り当てと初期化が終わった SID 構造体へのポインタを受け取る変数へのポインタを指定する。
 

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    AllocateAndInitializeSid 関数を使って割り当てた SID は、FreeSid 関数を使って解放しなければならない。