次の方法で共有


コールバック関数LSA_OPEN_SAM_USER (ntsecpkg.h)

セキュリティ アカウント マネージャー (SAM) データベースのユーザー アカウントへのハンドルを取得します。

構文

LSA_OPEN_SAM_USER LsaOpenSamUser;

NTSTATUS LsaOpenSamUser(
  [in]  PSECURITY_STRING Name,
  [in]  SECPKG_NAME_TYPE NameType,
  [in]  PSECURITY_STRING Prefix,
  [in]  BOOLEAN AllowGuest,
  [in]  ULONG Reserved,
  [out] PVOID *UserHandle
)
{...}

パラメーター

[in] Name

SAM アカウントの名前を指定する UNICODE_STRING 構造体へのポインター。

[in] NameType

[名前]アカウント名の種類を指定するSECPKG_NAME_TYPE列挙値。 このパラメーターには、次の値のいずれかを指定できます。

意味
SecNameSamCompatible
名前 は SAM と互換性があります。 SAM 互換形式の名前の例として、"ExampleDomain\Username" があります。
SecNameAlternateId
名前 は、SAM アカウントの AltSecId プロパティにあります。 この値は 、Prefix パラメーターと共に使用されます。
SecNameFlat
名前 はフラット ユーザー プリンシパル名 (UPN)、スタイル アカウント名です。
SecNameDN
Name は、オブジェクトの識別名です。 詳細については、「解説」を参照してください。

[in] Prefix

NameType の SecNameAlternateId を使用する名前で使用するプレフィックスを指定するUNICODE_STRING構造体へのポインター。

[in] AllowGuest

SAM アカウントが見つからない場合にゲスト アカウントを使用するかどうかを指定します。 このパラメーターには、次の値のいずれかを指定できます。

意味
FALSE
ユーザーが見つからない場合、 OpenSamUser 関数の呼び出しは失敗します。
TRUE
ユーザーが見つからず、ゲスト アカウントが有効になっている場合は、ゲスト アカウントが使用されます。

[in] Reserved

予約済み。 0 を指定します。

[out] UserHandle

ユーザー アカウントへのハンドルを受け取るポインターへのポインター。

戻り値

関数が成功した場合、戻り値はSTATUS_SUCCESS。

関数が失敗した場合、戻り値は、エラーの理由を示す次の NTSTATUS エラー コードのいずれかです。

リターン コード 説明
STATUS_INVALID_PARAMETER
NameType は SecNameAlternateId で 、PrefixNULL です
STATUS_NO_SUCH_USER
SAM アカウントが見つかりませんでした。

注釈

UserHandle パラメーターで受け取ったハンドルを閉じるには、CloseSamUser 関数を呼び出します。

ユーザーの識別名は、ユーザーを表す Active Directory オブジェクトの名前、ドメイン、および完全なパスを識別します。

OpenSamUser 関数へのポインターは、SpInitialize 関数によって受信されたLSA_SECPKG_FUNCTION_TABLE構造体で使用できます。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー ntsecpkg.h

こちらもご覧ください

CloseSamUser

LSA_SECPKG_FUNCTION_TABLE

SpInitialize