LSA_OPEN_SAM_USER回呼函式 (ntsecpkg.h)

擷取 Security Accounts Manager (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列舉值,指定 Name 中的帳戶名稱類型。 此參數可以是下列其中一個值。

意義
SecNameSamCompatible
名稱 與 SAM 相容。 SAM 相容格式的名稱範例為 「ExampleDomain\Username」。。
SecNameAlternateId
Name 位於 SAM 帳戶的 AltSecId 屬性中。 這個值會與 Prefix 參數搭配使用。
SecNameFlat
Name 是一般 用戶主體名稱 , (UPN) 樣式帳戶名稱。
SecNameDN
Name 是對象的辨別名稱。 如需詳細資訊,請參閱<備註>。

[in] Prefix

UNICODE_STRING 結構的指標,指定要與使用 SecNameAlternateId NameType 的名稱搭配使用的前置詞。

[in] AllowGuest

指定如果找不到 SAM 帳戶,是否要使用來賓帳戶。 此參數可以是下列其中一個值。

意義
FALSE
如果找不到使用者, OpenSamUser 函數 調用會失敗。
TRUE
如果找不到使用者且已啟用來賓帳戶,則會使用來賓帳戶。

[in] Reserved

保留的。 指定零。

[out] UserHandle

接收用戶帳戶句柄的指標指標。

傳回值

如果函式成功,傳回值會STATUS_SUCCESS。

如果函式失敗,則傳回值是下列其中一個NTSTATUS錯誤碼,指出失敗的原因。

傳回碼 Description
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