Share via


LsaEnumerateAccountsWithUserRight 函式 (ntsecapi.h)

LsaEnumerateAccountsWithUserRight 函式會傳回本機安全機構資料庫中的帳戶, (LSA) Policy 物件,該物件具有指定的許可權。 此函式所傳回的帳戶會直接透過用戶帳戶保留指定的許可權,而不是群組成員資格的一部分。

語法

NTSTATUS LsaEnumerateAccountsWithUserRight(
  [in]  LSA_HANDLE          PolicyHandle,
  [in]  PLSA_UNICODE_STRING UserRight,
  [out] PVOID               *Buffer,
  [out] PULONG              CountReturned
);

參數

[in] PolicyHandle

Policy 物件的句柄。 句柄必須具有POLICY_LOOKUP_NAMES和POLICY_VIEW_LOCAL_INFORMATION用戶權力。 如需詳細資訊,請參閱 開啟原則物件句柄

[in] UserRight

指定許可權名稱 之LSA_UNICODE_STRING 結構的指標。 如需許可權清單,請參閱 許可權常數 和帳戶許可權常數。

如果此參數為 NULL,此函式會列舉與 Policy 物件相關聯之系統 LSA 資料庫中的所有帳戶。

[out] Buffer

接收 LSA_ENUMERATION_INFORMATION 結構陣列指標的變數指標。 每個結構的 Sid 成員都是保留指定許可權之帳戶 的安全性識別碼 (SID) 指標。

當您不再需要資訊時,請將傳回的指標傳遞至 LsaFreeMemory 函式,以釋放記憶體。

[out] CountReturned

變數的指標,該變數會接收 EnumerationBuffer 參數中傳回的項目數。

傳回值

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

如果函式失敗,它會傳回 NTSTATUS 程式碼,它可以是下列其中一個值或其中一個 LSA原則函式傳回值

Description
STATUS_NO_SUCH_PRIVILEGE
指定的許可權字串不是有效的許可權。
STATUS_NO_MORE_ENTRIES
沒有具有指定許可權的帳戶。
 

您可以使用 LsaNtStatusToWinError 函 式,將 NTSTATUS 程式代碼轉換成 Windows 錯誤碼。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 ntsecapi.h
程式庫 Advapi32.lib
Dll Advapi32.dll

另請參閱

LSA_ENUMERATION_INFORMATION

LSA_UNICODE_STRING

LsaFreeMemory

LsaOpenPolicy