Share via


LookupAccountNameA 函式 (winbase.h)

LookupAccountName 函式接受系統名稱和帳戶作為輸入。 它會擷取帳戶 的安全性標識碼 (SID) ,以及找到帳戶的功能變數名稱。

LsaLookupNames 函式也可以擷取計算機帳戶。

語法

BOOL LookupAccountNameA(
  [in, optional]  LPCSTR        lpSystemName,
  [in]            LPCSTR        lpAccountName,
  [out, optional] PSID          Sid,
  [in, out]       LPDWORD       cbSid,
  [out, optional] LPSTR         ReferencedDomainName,
  [in, out]       LPDWORD       cchReferencedDomainName,
  [out]           PSID_NAME_USE peUse
);

參數

[in, optional] lpSystemName

指定系統名稱之 Null 終止字元字串的指標。 此字串可以是遠端電腦的名稱。 如果此字串為 NULL,帳戶名稱翻譯會從本機系統開始。 如果無法在本機系統上解析名稱,此函式會嘗試使用本機系統信任的域控制器解析名稱。 一般而言,只有在帳戶位於不受信任的網域且該網域中計算機的名稱已知時,才指定 lpSystemName 的值。

[in] lpAccountName

指定帳戶名稱之 Null 終止字串的指標。

使用domain_name\user_name格式的完整字串,以確保 LookupAccountName 會在所需的網域中尋找帳戶。

[out, optional] Sid

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

[in, out] cbSid

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

[out, optional] ReferencedDomainName

緩衝區的指標,接收找到帳戶名稱的功能變數名稱。 對於未加入網域的計算機,此緩衝區會收到計算機名稱。 如果此參數為 NULL,函式會傳回所需的緩衝區大小。

[in, out] cchReferencedDomainName

變數的指標。 在輸入時,這個值會指定 ReferencedDomainName 緩衝區的大小,以 TCHARs 為單位。 如果函式因為緩衝區太小而失敗,此變數會收到必要的緩衝區大小,包括終止 Null 字元。 如果 ReferencedDomainName 參數為 NULL,此參數必須為零。

[out] peUse

SID_NAME_USE列舉型別的指標,指出函式傳回時帳戶的類型。

傳回值

如果函式成功,函式會傳回非零。

如果函式失敗,它會傳回零。 如需擴充錯誤資訊,請呼叫 GetLastError

備註

LookupAccountName 函式會先檢查已知 SD 的清單,嘗試尋找指定名稱的 SID。 如果名稱未對應至已知的 SID,函式會檢查內建和管理定義的本機帳戶。 接下來,函式會檢查主要網域。 如果找不到該處的名稱,則會檢查受信任的網域。

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

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

注意

winbase.h 標頭會根據 UNICODE 預處理器常數的定義,將 LookupAccountName 定義為別名,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows XP [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2003 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 winbase.h (包含 Windows.h)
程式庫 Advapi32.lib
Dll Advapi32.dll

另請參閱

存取控制 概觀

基本 存取控制 函式

EqualPrefixSid

GetUserName

LookupAccountSid

LsaLookupNames2

SID

SID_NAME_USE