setUserObjectSecurity 函式 (winuser.h)

SetUserObjectSecurity 函式會設定用戶對象的安全性。 例如,這可以是視窗或 DDE 交談。

語法

BOOL SetUserObjectSecurity(
  [in] HANDLE                hObj,
  [in] PSECURITY_INFORMATION pSIRequested,
  [in] PSECURITY_DESCRIPTOR  pSID
);

參數

[in] hObj

設定安全性資訊之用戶物件的句柄。

[in] pSIRequested

值的指標,表示要設定 之安全描述元 的元件。 此參數可以是下列值的組合。

意義
DACL_SECURITY_INFORMATION
設定物件的 DACL) (任意存取控制清單hObj 指定的句柄必須具有WRITE_DAC存取權,否則呼叫進程必須是 對象的擁有者。
GROUP_SECURITY_INFORMATION
設定物件 (SID) 的主要群組 安全組 標識碼。
OWNER_SECURITY_INFORMATION
設定物件的擁有者 SID。 hObj 指定的句柄必須具有WRITE_OWNER存取權,或者呼叫進程必須是對象的擁有者,或已啟用SE_TAKE_OWNERSHIP_NAME許可權。
SACL_SECURITY_INFORMATION
設定 物件的系統存取控制清單 (SACL) 。 hObj 指定的句柄必須具有ACCESS_SYSTEM_SECURITY存取權。

若要取得ACCESS_SYSTEM_SECURITY存取權

  1. 在呼叫端的目前存取令牌中啟用SE_SECURITY_NAME許可權
  2. 開啟ACCESS_SYSTEM_SECURITY存取句柄。
  3. 停用許可權。

[in] pSID

包含新安全性資訊的 SECURITY_DESCRIPTOR 結構的指標。

此緩衝區必須對齊 4 位元組界限。

傳回值

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

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

備註

SetUserObjectSecurity 函式會將安全性描述符中指定的變更套用至指派給用戶物件的安全性描述元。 對象的安全性描述元必須以 自我相對 形式表示。 如有必要,此函式會配置額外的記憶體,以增加安全性描述元的大小。

範例

如需使用此函式的範例,請參閱 啟動互動式用戶端程式

規格需求

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

另請參閱

GetUserObjectSecurity

低階 存取控制

低階 存取控制 函式

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

SetFileSecurity

SetKernelObjectSecurity

SetPrivateObjectSecurity