次の方法で共有


SecLookupAccountSid 関数 (ntifs.h)

SecLookupAccountSid は、入力としてセキュリティ識別子 (SID) を受け入れます。 この SID のアカウントの名前と、この SID が見つかった最初のドメインの名前を取得します。

構文

KSECDDDECLSPEC NTSTATUS SEC_ENTRY SecLookupAccountSid(
  [in]            PSID            Sid,
  [out]           PULONG          NameSize,
  [in, out]       PUNICODE_STRING NameBuffer,
  [out]           PULONG          DomainSize,
  [out, optional] PUNICODE_STRING DomainBuffer,
  [out]           PSID_NAME_USE   NameUse
);

パラメーター

[in] Sid

参照する SID へのポインター。

[out] NameSize

NameBufferのサイズを指定する変数へのポインター。 入力時に、この値は NameBuffer入力のサイズをバイト単位で指定します。 バッファーが小さすぎるために関数が失敗した場合、この変数は必要なバッファー サイズを受け取ります。 成功した場合、この変数には、NameBuffer返されるサイズが格納されます。

[in, out] NameBuffer

Sidに関連付けられているアカウントの名前を受け取るバッファーへのポインター。 このパラメーターが NULL の場合、NameSize は 0 になります。

[out] DomainSize

DomainBuffer パラメーターのサイズを指定する ULONG へのポインター。 バッファーが小さすぎるために関数が失敗した場合、この変数は必要なバッファー サイズを受け取ります。 DomainBuffer パラメーターが NULL場合、このパラメーターは 0 に設定されます。

[out, optional] DomainBuffer

この SID が見つかった最初のドメインの名前を受け取るバッファーへのポインター。

[out] NameUse

アカウントの型を受け取る SID_NAME_USE 列挙型へのポインター。

戻り値

SecLookupAccountSid 、成功した場合はSTATUS_SUCCESS、失敗した場合は次のいずれかのエラー コードが返されます。

リターン コード 形容
SEC_E_INTERNAL_ERROR ローカル システム機関 (LSA) またはセキュリティ プロバイダーへのローカル プロシージャ コール (LPC) への接続中に内部エラーが発生しました。
STATUS_ACCESS_DENIED 現在実行中のスレッドに関連付けられているプロセス ID が、現在のプロセス ID と一致しません。
STATUS_BUFFER_TOO_SMALL NameBuffer または ReferencedDomain パラメーターのバッファー サイズが小さすぎます。
STATUS_INVALID_PARAMETER Name パラメーターの長さが、ローカル システム機関 (LSA) へのメッセージで許可されている長さを超えました。
STATUS_NO_MEMORY この関数で使用される一時的な内部バッファーに十分なメモリを割り当てることができませんでした。
STATUS_NONE_MAPPED Sid パラメーターが見つかりませんでした。
STATUS_PROCESS_IS_TERMINATING このプロセスは終了しているため、ローカル プロシージャ コール (LPC) 接続を確立できません。

備考

SecLookupAccountSid は、最初に既知の SID の一覧を確認することで、指定された SID の名前の検索を試みます。 指定された SID が既知の SID に対応していない場合、関数は組み込みおよび管理上定義されたローカル アカウントをチェックします。 次に、この関数はプライマリ ドメインを確認します。 プライマリ ドメインで認識されないセキュリティ識別子は、SID プレフィックスに対応する信頼されたドメインに対してチェックされます。

関数が SID のアカウント名を見つけられない場合、SecLookupAccountSid 失敗します。 これは、ネットワーク タイムアウトによって関数が名前を見つけることができない場合に発生する可能性があります。 また、対応するアカウント名がない SID (ログオン セッションを識別するログオン SID など) にも発生します。

ローカル アカウント、ローカル ドメイン アカウント、明示的に信頼されたドメイン アカウントの SID を検索するだけでなく、SecLookupAccountSid では、フォレスト内のアカウントの SID フィールドにのみ表示される SID など、フォレスト内の任意のドメイン内の任意のアカウントの SID を検索できます。 SIDhistory フィールドには、別のドメインから移動されたアカウントの以前の SID が格納されます。 SID を検索するには、SecLookupAccountSid フォレストのグローバル カタログに対してクエリを実行します。

SecLookupAccountSid は、Win32 LookupAccountSid 関数と同等です。

SecLookupAccountSid は、ユーザー モード ヘルパー サービスを使用してこの関数を実装する ksecdd ドライバーによってエクスポートされます。 したがって、ファイル・システム内でこの機能を使用するには、ユーザー・モード・サービスとの通信に関する通常の規則に従う必要があります。 SecLookupAccountSid は、ページング ファイル I/O 中に使用できません。

必要条件

要件 価値
サポートされる最小クライアント Windows XP
ターゲット プラットフォーム の 万国
ヘッダー ntifs.h (Ntifs.h を含む)
ライブラリ Ksecdd.lib
IRQL <= APC_LEVEL

関連項目

SID の

SID_NAME_USE

SecLookupAccountName

SecLookupWellKnownSid