LsaLookupSids 函式 (ntsecapi.h)
[LsaLookupSids 可用於需求一節中指定的作業系統。 它在後續版本中可能會變更或無法使用。 請改用 LsaLookupSids2。]
LsaLookupSids 函式會查閱對應至安全性標識符陣列的名稱, (SID) 。 如果 LsaLookupSids 找不到對應至 SID 的名稱,則函式會以字元形式傳回 SID。
語法
NTSTATUS LsaLookupSids(
[in] LSA_HANDLE PolicyHandle,
[in] ULONG Count,
[in] PSID *Sids,
[out] PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
[out] PLSA_TRANSLATED_NAME *Names
);
參數
[in] PolicyHandle
Policy 物件的句柄。 此句柄必須具有POLICY_LOOKUP_NAMES訪問許可權。 如需詳細資訊,請參閱 開啟原則物件句柄。
[in] Count
指定 Sids 陣列中的 SID 數目。 這也是 Names 陣列中傳回的項目數。 此值必須小於或等於 20480。
[in] Sids
要查閱之 SID 指標陣列的指標。 SID 可以是已知的 SID、使用者、群組或本機群組帳戶 SID 或網域 SID。
[out] ReferencedDomains
接收指向 LSA_REFERENCED_DOMAIN_LIST 結構的指標。 這個結構的 Domains 成員是數位,其中包含找到 SID 的每個定義域的專案。 每個網域的專案都包含網域的 SID 和一般名稱。 針對 Windows 網域,一般名稱是 NetBIOS 名稱。 對於具有非 Windows 網域的連結,一般名稱是該網域的識別名稱,或為 NULL。
當您不再需要資訊時,請將傳回的指標傳遞至 LsaFreeMemory。 即使函式因錯誤碼STATUS_NONE_MAPPED或STATUS_SOME_NOT_MAPPED而失敗,仍必須釋放此記憶體
[out] Names
接收 LSA_TRANSLATED_NAME 結構的陣列指標。 Names 陣列中的每個專案都包含 Sids 陣列中對應項目的名稱資訊。 針對帳戶 SID,每個結構的 Name 成員都包含帳戶的隔離名稱。 對於網域 SID,Name 成員無效。
Names 陣列中每個專案的 DomainIndex 成員是 ReferencedDomains 參數所傳回之 Domains 陣列中專案的索引。 索引會識別找到 SID 之網域的 Domains 陣列。
當您不再需要資訊時,請將傳回的指標傳遞至 LsaFreeMemory。 即使函式因錯誤碼STATUS_NONE_MAPPED或STATUS_SOME_NOT_MAPPED而失敗,仍必須釋放此記憶體
傳回值
如果函式成功,傳回值就是下列其中一個 NTSTATUS 值。
傳回碼 | Description |
---|---|
|
無法翻譯部分 SID。 這是參考層級傳回值。 |
|
找到並成功轉譯所有 SID。 |
如果函式失敗,則傳回值是 NTSTATUS 程式碼,可以是下列其中一個值或其中一個 LSA原則函式傳回值。
傳回碼 | Description |
---|---|
|
未翻譯任何 SID。 這是錯誤層級傳回值。 |
|
Sids 陣列參數太大。 |
您可以使用 LsaNtStatusToWinError 函式,將 NTSTATUS 程式代碼轉換成 Windows 錯誤碼。
備註
對於帳戶 SID,Name 成員中傳回的字串是帳戶的隔離名稱 (,例如,user_name) 。 如果您需要帳戶的複合名稱 (例如 Acctg\user_name) ,請從 ReferencedDomains 緩衝區取得功能變數名稱,並附加反斜杠和隔離的名稱。
如果 LsaLookupSids 函式無法轉譯 SID,函式會使用下列演算法:
- 如果已知 SID 的網域, ReferencedDomains 緩衝區會包含網域的專案,且 Names 參數中傳回的字串是帳戶相對標識符的 Unicode 表示法, (RID) 。
- 如果不知道 SID 的網域, 則 Names 參數中傳回的字串是整個 SID 的 Unicode 表示法,而且 ReferencedDomains 緩衝區中沒有此 SID 的網域記錄。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | ntsecapi.h |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |