<Return[JKL]><Top>

LookupAccountSid

Declare Function Api_LookupAccountSid& Lib "advapi32" Alias "LookupAccountSidA" (ByVal lpSystemName$, ByVal Sid&, ByVal name$, cbName&, ByVal ReferencedDomainName$, cbReferencedDomainName&, Use&)

Declare Function LookupAccountSid Lib "advapi32" Alias "LookupAccountSidA" (ByVal lpSystemName As String, ByVal lpSid As Long, ByVal Name As String, cbName As Long, ByVal ReferencedDomainName As String, cbReferencedDomainName As Long, peUse As Long) As Long

セキュリティ識別子(SID)を入力として受け取る。

この SID に対応するアカウントの名前と、その SID が見つかった最初のドメインを取得する。

パラメータ
lpSystemName
    対象のコンピュータを指定する NULL で終わる文字列へのポインタを指定する。

    この文字列は、リモートコンピュータの名前でもかまわない。この文字列が NULL の場合、ローカルコンピュータで SID を参照する。
Sid
    参照する SID へのポインタを指定する。
Name
    Sid パラメータに対応するアカウント名を保持する、NULL で終わる文字列を受け取るバッファへのポインタを指定する。
cbName
    DWORD 変数へのポインタを指定する。

    入力の際に、この値は Name バッファのサイズを文字数単位(日本語などの DBCS 文字セットではバイト単位)で指定する。

    バッファが小さすぎてこの関数が失敗した場合、この変数は終端の NULL 文字を含む必要なバッファのサイズを受け取る。
ReferencedDomainName
    アカウント名が見つかったドメインの名前を保持する、NULL で終わる文字列を受け取るバッファへのポインタを指定する。
    Windows NT/2000 の各システムでは、ローカルコンピュータのセキュリティデータベース内に存在するほとんどのアカウントに対して、システ

    ムが最後に再起動されたときのコンピュータ名がドメイン名として返される。

    円記号(\)は省略される。コンピュータ名が変化した場合、システムを再起動するまでは従来のコンピュータ名が引き続き返される。
    Windows NT Server/Windows 2000 Server の各システムでは、ローカルコンピュータのセキュリティデータベース内に存在するほとんどのア

    カウントに対して、そのサーバーが所属するドメインのドメインコントローラ名が、ドメイン名として返される。
    一部のアカウントはシステムによってあらかじめ定義されている。これらのアカウントに対しては、BUILTIN がドメイン名として返される。
cbReferencedDomainName
    DWORD 変数へのポインタを指定する。入力の際に、この値は ReferencedDomainName バッファのサイズを文字数単位(日本語などの

    DBCS 文字セットではバイト単位)で指定する。

    バッファが小さすぎてこの関数が失敗した場合、この変数は終端の NULL 文字を含む必要なバッファのサイズを受け取る。
peUse
    アカウントタイプを示す SID_NAME_USE 値を受け取る、変数へのポインタを指定する。
 

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