共用方式為


LookupAccountSidA 函式 (winbase.h)

LookupAccountSid 函式接受 安全性識別碼 (SID) 作為輸入。 它會擷取此 SID 的帳戶名稱,以及找到此 SID 的第一個網域名稱。

語法

BOOL LookupAccountSidA(
  [in, optional]  LPCSTR        lpSystemName,
  [in]            PSID          Sid,
  [out, optional] LPSTR         Name,
  [in, out]       LPDWORD       cchName,
  [out, optional] LPSTR         ReferencedDomainName,
  [in, out]       LPDWORD       cchReferencedDomainName,
  [out]           PSID_NAME_USE peUse
);

參數

[in, optional] lpSystemName

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

[in] Sid

要查閱之 SID 的指標

[out, optional] Name

緩衝區的指標,接收 null-terminated 字串,其中包含對應至 lpSid 參數的帳戶名稱。

[in, out] cchName

在輸入上,指定 lpName 緩衝區 TCHAR秒的大小。 如果函式因為緩衝區太小或 cchName 為零而失敗,cchName 會收到所需的緩衝區大小,包括終止 null 字元。

[out, optional] ReferencedDomainName

緩衝區的指標,接收 null-terminated 字串,其中包含找到帳戶名稱的功能變數名稱。

在伺服器上,本機計算機安全性資料庫中大部分帳戶所傳回的功能變數名稱是伺服器是域控制器的功能變數名稱。

在工作站上,本機計算機安全性資料庫中大部分帳戶所傳回的功能變數名稱是系統最後一次啟動時計算機的名稱(排除反斜杠)。 如果計算機名稱變更,舊名稱會繼續以功能變數名稱的形式傳回,直到系統重新啟動為止。

某些帳戶是由系統預先定義的。 針對這些帳戶傳回的功能變數名稱是 BUILTIN。

[in, out] cchReferencedDomainName

在輸入上,指定 lpReferencedDomainName 緩衝區 TCHARs 的大小。 如果函式因為緩衝區太小或 cchReferencedDomainName 為零而失敗,cchReferencedDomainName 會收到所需的緩衝區大小,包括結束 null 字元。

[out] peUse

接收 SID_NAME_USE 值之變數的指標,表示帳戶的類型。

傳回值

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

如果函式失敗,則會傳回零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

言論

LookupAccountSid 函式會先檢查已知 SID 清單,嘗試尋找指定 SID 的名稱。 如果提供的 SID 未對應至已知的 SID,函式會檢查內建和系統管理定義的本機帳戶。 接下來,函式會檢查主要網域。 主要網域無法辨識的安全性 標識符會針對對應至其 SID 前置詞的信任網域進行檢查。

如果函式找不到 SID 的帳戶名稱,GetLastError 會傳回ERROR_NONE_MAPPED。 如果網路逾時會防止函式尋找名稱,就會發生這種情況。 對於沒有對應帳戶名稱的 SID 也會發生,例如識別 登入工作階段登入 SID

除了查閱本機帳戶、本機網域帳戶和明確信任的網域帳戶之外,LookupAccountSid 可以查閱樹系中任何網域中任何帳戶的 SID,包括只出現在樹系中帳戶 SIDhistory 字段中的 SID。 SIDhistory 字段會儲存已從另一個網域移動之帳戶的前 SID。 若要查閱 SID,LookupAccountSid 查詢樹系的全域編錄。

例子

如需使用此函式的範例,請參閱 在存取令牌中搜尋 SID

注意

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

要求

要求 價值
最低支援的用戶端 Windows XP [傳統型應用程式 |UWP 應用程式]
支援的最低伺服器 Windows Server 2003 [傳統型應用程式 |UWP 應用程式]
目標平臺 窗戶
標頭 winbase.h (包括 Windows.h)
連結庫 Advapi32.lib
DLL Advapi32.dll

另請參閱

訪問控制概觀

基本訪問控制函式

EqualPrefixSid

LookupAccountName

SID

SID_NAME_USE