GetUserObjectSecurity 函式 (winuser.h)
GetUserObjectSecurity 函式會擷取指定之用戶對象的安全性資訊。
語法
BOOL GetUserObjectSecurity(
[in] HANDLE hObj,
[in] PSECURITY_INFORMATION pSIRequested,
[in, out, optional] PSECURITY_DESCRIPTOR pSID,
[in] DWORD nLength,
[out] LPDWORD lpnLengthNeeded
);
參數
[in] hObj
要傳回安全性資訊之用戶物件的句柄。
[in] pSIRequested
指定所要求安全性資訊的 SECURITY_INFORMATION 值的指標。
[in, out, optional] pSID
以自我相對格式SECURITY_DESCRIPTOR結構的指標,其中包含函式傳回時所要求的資訊。 此緩衝區必須對齊 4 位元組界限。
[in] nLength
pSD 參數所指向之緩衝區的長度,以位元組為單位。
[out] lpnLengthNeeded
要接收儲存完整 安全性描述元所需位元組數目的變數指標。 如果此變數的值大於函式傳回時 nLength 參數的值,則函式會傳回 FALSE ,而且不會將任何安全性描述元複製到緩衝區。 否則,會複製整個安全性描述元。
傳回值
如果函式成功,函式會傳回非零。
如果函式失敗,它會傳回零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
若要從用戶物件的安全性描述元讀取擁有者、群組或 任意訪問控制清單 (DACL) ,呼叫 程式 必須在開啟句柄時授與READ_CONTROL存取權。
若要從安全性描述元讀取 系統訪問控制清單 (SACL) ,呼叫程式必須在開啟句柄時授與ACCESS_SYSTEM_SECURITY存取權。 取得此存取權的正確方法是啟用呼叫端目前令牌中的SE_SECURITY_NAME許可權、開啟ACCESS_SYSTEM_SECURITY存取的句柄,然後停用許可權。
範例
如需使用此函式的範例,請參閱 啟動互動式用戶端程式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | winuser.h (包括 Windows.h) |
程式庫 | User32.lib |
Dll | User32.dll |