IAzApplication::InitializeClientCoNtextFromStringSid 方法 (azroles.h)
InitializeClientCoNtextFromStringSid方法會從文字格式的指定安全性識別碼 (SID) 取得IAzClientCoNtext物件指標。
語法
HRESULT InitializeClientContextFromStringSid(
[in] BSTR SidString,
[in] LONG lOptions,
[in, optional] VARIANT varReserved,
[out] IAzClientContext **ppClientContext
);
參數
[in] SidString
字串,包含安全性主體之 SID 的文字格式。 這必須是可由 ConvertStringSidToSid 函式轉換的有效字串 SID。
[in] lOptions
建立內容的選項。
如果指定AZ_CLIENT_CONTEXT_SKIP_GROUP, 則 SidString 參數中指定的 SID 不一定是有效的使用者帳戶。 SID 將用來建立內容,而不需驗證。 建立的內容會標示為已從 SID 建立,SID 字串將會儲存在用戶端名稱欄位中,而功能變數名稱欄位將會是空的。 權杖群組不會用於用戶端內容建立中。 指定AZ_CLIENT_CONTEXT_SKIP_GROUP時,不支援輕量型目錄存取通訊協定 (LDAP) 查詢群組。 由於帳戶未在 Active Directory 中驗證,因此用戶端內容的使用者資訊屬性,例如 UserSamCompat將不會有效,而且存取時會傳回ERROR_INVALID_HANDLE。 RoleForAccessCheck屬性和IAzClientCoNtext的AccessCheck方法仍可用來指定存取檢查的角色。 IAzClientCoNtext的GetRoles方法仍可用來列舉指派給特定範圍內內容的角色。
如果未指定AZ_CLIENT_CONTEXT_SKIP_GROUP,SID 必須代表有效的使用者帳戶。
[in, optional] varReserved
保留供未來使用。 此參數可以是下列其中一個值:
- varReserved.vt == VT_ERROR 和 varReserved.scode == DISP_E_PARAMNOTFOUND
- varReserved.vt == VT_EMPTY
- varReserved.vt == VT_Null
- varReserved.vt == VT_I4 和 varReserved.lVal == 0
- varReserved.vt == VT_I2 和 varReserved.iVal == 0
[out] ppClientContext
所傳回 IAzClientCoNtext 物件的指標。
傳回值
如果函式成功,函式會傳回S_OK。
如果函式失敗,它會傳回 HRESULT 值,指出錯誤。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值。
備註
可能的話,請呼叫 InitializeClientCoNtextFromToken 函式,而不是 InitializeClientCoNtextFromStringSid。 InitializeClientCoNtextFromStringSid 嘗試擷取登入權杖中可用的資訊,而用戶端實際上已登入。 實際的登入權杖提供詳細資訊,例如登入類型和登入屬性,並反映用於登入的驗證套件行為。 InitializeClientCoNtextFromToken所建立的用戶端內容會使用登入權杖,產生的用戶端內容比InitializeClientCoNtextFromStringSid所建立的用戶端內容更完整且精確。
規格需求
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | azroles.h |
程式庫 | Azroles.lib |
Dll | Azroles.dll |
可轉散發套件 | Windows XP 上的 Windows Server 2003 系統管理工具套件 |