SecLookupAccountName 函式 (ntifs.h)

SecLookupAccountName 接受帳戶作為輸入,並擷取帳戶的安全性標識碼 (SID) ,以及找到帳戶的功能變數名稱。

語法

KSECDDDECLSPEC NTSTATUS SEC_ENTRY SecLookupAccountName(
  [in]               PUNICODE_STRING Name,
  [in, out]          PULONG          SidSize,
  [out]              PSID            Sid,
  [out]              PSID_NAME_USE   NameUse,
  [out]              PULONG          DomainSize,
  [in_out, optional] PUNICODE_STRING ReferencedDomain
);

參數

[in] Name

指定帳戶名稱之 Unicode 字串的指標。 使用格式為 domain_name\user_name 的完整字串,以確保 SecLookupAccountName 在所需的網域中尋找帳戶。

[in, out] SidSize

指定 Sid 緩衝區大小的變數指標。 在輸入時,這個值會以位元組為單位指定輸入 Sid 緩衝區的大小。 如果函式因為緩衝區太小或 SidSize 為零而失敗,則此變數會收到所需的緩衝區大小。 成功時,此變數會包含傳回 之 Sid 的大小。

[out] Sid

緩衝區的指標,接收對應至 Name 參數所指向之帳戶名稱的 SID 結構。 如果此參數為 NULL,SidSize 必須為零。

[out] NameUse

接收帳戶類型的 SID_NAME_USE 列舉型別指標。

[out] DomainSize

接收 ReferencedDomain 參數大小的 ULONG 指標。 如果函式因為緩衝區太小而失敗,此變數會收到所需的緩衝區大小。 如果輸入 ReferencedDomain 參數為 NULL,此參數將會收到零。

[in_out, optional] ReferencedDomain

找到帳戶名稱之功能變數名稱的緩衝區指標。 這個參數是選擇性的,而且可以是 NULL。 對於未加入網域的計算機,此緩衝區會接收計算機名稱。

傳回值

SecLookupAccountName 會在成功時傳回STATUS_SUCCESS,或在失敗時傳回下列其中一個錯誤碼。

傳回碼 Description
SEC_E_INTERNAL_ERROR 嘗試連線到本機系統授權單位 (LSA) 或 LPC) 本機過程 (調用失敗時,發生內部錯誤。
STATUS_ACCESS_DENIED 與目前執行中線程相關聯的進程標識碼與目前的進程標識碼不符。
STATUS_BUFFER_TOO_SMALL SidReferencedDomain 參數的緩衝區大小太小。
STATUS_INVALID_PARAMETER Name 參數的長度超過本機系統授權單位訊息中允許的長度。
STATUS_NONE_MAPPED 找不到 Name 參數。
STATUS_PROCESS_IS_TERMINATING 此進程已終止,因此無法在 LPC) 連線 (建立本機過程調用。

備註

SecLookupAccountName 會嘗試尋找指定名稱的 SID。 函式會檢查內建和管理定義的本機帳戶。 接下來,函式會檢查主要網域。 如果找不到該名稱,則會檢查受信任的網域。

例如,使用 (的完整帳戶名稱,例如,domain_name\user_name) ,而不是 (隔離的名稱user_name) 。 完整名稱明確,並在執行查閱時提供更佳的效能。 例如,此函式也支援 (的完整 DNS 名稱,例如,example.example.com\user_name) 和用户主体名称 (UPN) (,例如) someone@example.com 。

除了查閱本機帳戶、本機網域帳戶和明確信任的網域帳戶之外, SecLookupAccountName 還可以查閱樹系中任何網域中任何帳戶的名稱。

SecLookupAccountName 相當於 Win32 LookupAccountName 函式。

SecLookupAccountName 是由 ksecdd 驅動程序匯出,此驅動程式會使用使用者模式協助程式服務來實作此函式。 因此,在文件系統內使用此函式必須遵守與使用者模式服務通訊的一般規則。 SecLookupAccountName 無法在分頁檔案 I/O 期間使用。

規格需求

需求
最低支援的用戶端 Windows XP
目標平台 Universal
標頭 ntifs.h (包含 Ntifs.h)
程式庫 Ksecdd.lib
IRQL <= APC_LEVEL

另請參閱

SID

SID_NAME_USE

SecLookupAccountSid

SecLookupWellKnownSid