RtlEqualPrefixSid 函式 (ntifs.h)

RtlEqualPrefixSid 例程會決定兩個安全性標識碼 (SID) 前置詞是否相等。 SID 前置詞是最後一個子授權值以外的整個 SID。

語法

NTSYSAPI BOOLEAN RtlEqualPrefixSid(
  [in] PSID Sid1,
  [in] PSID Sid2
);

參數

[in] Sid1

要比較的第一個SID結構的指標。 必須指向有效的 SID。

[in] Sid2

要比較的第二個SID結構的指標。 必須指向有效的 SID。

傳回值

如果 SID 前置詞相等,RtlEqualPrefixSid 會傳回 TRUE,否則傳回 FALSE。 如果任一 SID 結構無效,則傳回值未定義。

備註

RtlEqualPrefixSid 可讓某個網域中的伺服器驗證使用者登入另一個網域的嘗試。 例如,如果用戶嘗試從 LocalDomain 中的工作站登入 RemoteDomain,則 LocalDomain 的伺服器可以從 RemoteDomain 要求使用者的 SID 和使用者的群組。 RemoteDomain 的域控制器會以相關的 SID 回應。

指定網域的所有 SID 都必須具有相同的前置詞。 當伺服器收到使用者的 SID 時,它可以針對每個 SID 呼叫 RtlEqualPrefixSid ,並將使用者或群組 SID 與 RemoteDomain 的 SID 進行比較。 如果有任何 SID 前置詞不相等,伺服器會拒絕登入嘗試。

建議您先修改網域的 SID,再將其與群組或使用者 SID 進行比較。 如果 RemoteDomain 的 SID 是 S-1-1234-8,該網域的每個群組或使用者 SID 都會有 S-1-1234-8 作為其前置詞。 若要使用 RtlEqualPrefixSid 來比較 SID,呼叫端會複製網域 SID,並將任何子授權相對識別符值新增至複本,藉此以 S-1-1234-8-0 格式建立 SID。 (相對識別碼或 RID 是 SID 的一部分,可識別與發出 SID.) 授權單位相關的 SID。呼叫端接著會使用修改過的網域 SID 做為比較群組和使用者 SID 的範本。

如需安全性和訪問控制的詳細資訊,請參閱 適用於驅動程序開發人員的 Windows 安全性模型 ,以及 Windows SDK 中有關這些主題的檔。

規格需求

需求
目標平台 Universal
標頭 ntifs.h (包含 Ntifs.h)
程式庫 Ntdll.lib
Dll Ntdll.dll
IRQL <= APC_LEVEL

另請參閱

RtlCopySid

RtlEqualSid

RtlValidSid

SID