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 會是零。
[out] DomainSize
指定 DomainBuffer 參數大小的 ULONG 指標。 如果函式因為緩衝區太小而失敗,此變數會收到所需的緩衝區大小。 如果 DomainBuffer 參數為 NULL,此參數將會設定為零。
[out, optional] DomainBuffer
緩衝區的指標,接收找到此 SID 的第一個網域名稱。
[out] NameUse
接收帳戶類型的 SID_NAME_USE 列舉型別指標。
傳回值
SecLookupAccountSid 會在成功時傳回STATUS_SUCCESS,或在失敗時傳回下列其中一個錯誤碼。
傳回碼 | Description |
---|---|
SEC_E_INTERNAL_ERROR | 嘗試連線到本機系統授權單位 (LSA) 或本機過程調用時發生內部錯誤, (LPC) 安全性提供者失敗。 |
STATUS_ACCESS_DENIED | 與目前執行線程相關聯的進程標識碼不符合目前的進程標識碼。 |
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。
除了查閱本機帳戶、本機網域帳戶和明確信任的網域帳戶以外, SecLookupAccountSid 還可以查詢樹系中任何網域中任何帳戶的 SID,包括只出現在樹系中帳戶 SIDhistory 字段中的 SID。 SIDhistory 字段會儲存已從另一個網域移動之帳戶的先前 SID。 若要查閱 SID,SecLookupAccountSid 會查詢樹系的全域編錄。
SecLookupAccountSid 相當於 Win32 LookupAccountSid 函式。
SecLookupAccountSid 是由 ksecdd 驅動程序匯出,此驅動程式會使用使用者模式協助程式服務來實作此函式。 因此,在文件系統內使用此函式必須遵守與使用者模式服務通訊的一般規則。 SecLookupAccountSid 無法在分頁檔案 I/O 期間使用。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP |
目標平台 | Universal |
標頭 | ntifs.h (包含 Ntifs.h) |
程式庫 | Ksecdd.lib |
IRQL | <= APC_LEVEL |