安全性全域函式
這些函式支援修改 SID 和 ACL 物件。
重要
下表所列的函式不能用於在 Windows 執行階段 中執行的應用程式。
名稱 | 描述 |
---|---|
AtlGetDacl | 呼叫此函式可擷取所指定物件的判別存取控制清單 (DACL) 資訊。 |
AtlSetDacl | 呼叫此函式可設定所指定物件的判別存取控制清單 (DACL) 資訊。 |
AtlGetGroupSid | 呼叫此函式可擷取物件的群組安全性識別碼 (SID)。 |
AtlSetGroupSid | 呼叫此函式可設定物件的群組安全性識別碼 (SID)。 |
AtlGetOwnerSid | 呼叫此函式可擷取物件的擁有者安全性識別碼 (SID)。 |
AtlSetOwnerSid | 呼叫此函式可設定物件的擁有者安全性識別碼 (SID)。 |
AtlGetSacl | 呼叫此函式可擷取所指定物件的系統存取控制清單 (SACL) 資訊。 |
AtlSetSacl | 呼叫此函式可設定所指定物件的系統存取控制清單 (SACL) 資訊。 |
AtlGetSecurityDescriptor | 呼叫此函式可擷取所指物件的安全性描述元。 |
需求
標頭: atlsecurity.h
AtlGetDacl
呼叫此函式可擷取所指定物件的判別存取控制清單 (DACL) 資訊。
重要
此函式不能用於在 Windows 執行階段 中執行的應用程式。
inline bool AtlGetDacl(
HANDLE hObject,
SE_OBJECT_TYPE ObjectType,
CDacl* pDacl) throw();
參數
物件
要擷取安全性信息的 物件句柄。
ObjectType
指定來自 SE_OBJECT_TYPE 列舉的值,這個值表示 hObject 參數所識別的物件類型。
pDacl
DACL 物件的指標,其中包含擷取的安全性資訊。
傳回值
如果成功則傳回 true,失敗則傳回 false。
備註
在偵錯組建中,如果 hObject 或 pDacl 無效,就會發生判斷提示錯誤。
AtlSetDacl
呼叫此函式可設定所指定物件的判別存取控制清單 (DACL) 資訊。
重要
此函式不能用於在 Windows 執行階段 中執行的應用程式。
inline bool AtlSetDacl(
HANDLE hObject,
SE_OBJECT_TYPE ObjectType,
const CDacl& rDacl,
DWORD dwInheritanceFlowControl = 0) throw(...);
參數
物件
要設定安全性信息的物件句柄。
ObjectType
指定來自 SE_OBJECT_TYPE 列舉的值,這個值表示 hObject 參數所識別的物件類型。
rDacl
包含新安全性資訊的 DACL。
dwInheritanceFlowControl
繼承流程控制。 此值可以是 0(預設值)、PROTECTED_DACL_SECURITY_INFORMATION或UNPROTECTED_DACL_SECURITY_INFORMATION。
傳回值
如果成功則傳回 true,失敗則傳回 false。
備註
在偵錯組建中,如果 hObject 無效,或 dwInheritanceFlowControl 不是三個允許值之一,就會發生判斷提示錯誤。
需求
標頭: atlsecurity.h
AtlGetGroupSid
呼叫此函式可擷取物件的群組安全性識別碼 (SID)。
重要
此函式不能用於在 Windows 執行階段 中執行的應用程式。
inline bool AtlGetGroupSid(
HANDLE hObject,
SE_OBJECT_TYPE ObjectType,
CSid* pSid) throw(...);
參數
物件
要從中擷取安全性信息的 物件句柄。
ObjectType
指定來自 SE_OBJECT_TYPE 列舉的值,這個值表示 hObject 參數所識別的物件類型。
pSid
對象指標 CSid
,其中包含新的安全性資訊。
傳回值
如果成功則傳回 true,失敗則傳回 false。
需求
標頭: atlsecurity.h
AtlSetGroupSid
呼叫此函式可設定物件的群組安全性識別碼 (SID)。
重要
此函式不能用於在 Windows 執行階段 中執行的應用程式。
inline bool AtlSetGroupSid(
HANDLE hObject,
SE_OBJECT_TYPE ObjectType,
const CSid& rSid) throw(...);
參數
物件
要設定安全性信息的物件句柄。
ObjectType
指定來自 SE_OBJECT_TYPE 列舉的值,這個值表示 hObject 參數所識別的物件類型。
rSid
包含 CSid
新安全性信息的物件。
傳回值
如果成功則傳回 true,失敗則傳回 false。
需求
標頭: atlsecurity.h
AtlGetOwnerSid
呼叫此函式可擷取物件的擁有者安全性識別碼 (SID)。
重要
此函式不能用於在 Windows 執行階段 中執行的應用程式。
inline bool AtlGetOwnerSid(
HANDLE hObject,
SE_OBJECT_TYPE ObjectType,
CSid* pSid) throw(...);
參數
物件
要從中擷取安全性信息的 物件句柄。
ObjectType
指定來自 SE_OBJECT_TYPE 列舉的值,這個值表示 hObject 參數所識別的物件類型。
pSid
對象指標 CSid
,其中包含新的安全性資訊。
傳回值
如果成功則傳回 true,失敗則傳回 false。
需求
標頭: atlsecurity.h
AtlSetOwnerSid
呼叫此函式可設定物件的擁有者安全性識別碼 (SID)。
重要
此函式不能用於在 Windows 執行階段 中執行的應用程式。
inline bool AtlSetOwnerSid(
HANDLE hObject,
SE_OBJECT_TYPE ObjectType,
const CSid& rSid) throw(...);
參數
物件
要設定安全性信息的物件句柄。
ObjectType
指定來自 SE_OBJECT_TYPE 列舉的值,這個值表示 hObject 參數所識別的物件類型。
rSid
包含 CSid
新安全性信息的物件。
傳回值
如果成功則傳回 true,失敗則傳回 false。
需求
標頭: atlsecurity.h
AtlGetSacl
呼叫此函式可擷取所指定物件的系統存取控制清單 (SACL) 資訊。
重要
此函式不能用於在 Windows 執行階段 中執行的應用程式。
inline bool AtlGetSacl(
HANDLE hObject,
SE_OBJECT_TYPE ObjectType,
CSacl* pSacl,
bool bRequestNeededPrivileges = true) throw(...);
參數
物件
要從中擷取安全性信息的 物件句柄。
ObjectType
指定來自 SE_OBJECT_TYPE 列舉的值,這個值表示 hObject 參數所識別的物件類型。
pSacl
SACL 物件的指標,其中包含擷取的安全性資訊。
bRequestNeededPrivileges
如果為 true,函式會嘗試啟用SE_SECURITY_NAME許可權,並在完成時還原。
傳回值
如果成功則傳回 true,失敗則傳回 false。
備註
如果要 AtlGetSacl
在許多不同的物件上呼叫多次,在呼叫函式之前啟用SE_SECURITY_NAME許可權會更有效率,且 bRequestNeededPrivileges 設定為 false。
需求
標頭: atlsecurity.h
AtlSetSacl
呼叫此函式可設定所指定物件的系統存取控制清單 (SACL) 資訊。
重要
此函式不能用於在 Windows 執行階段 中執行的應用程式。
inline bool AtlSetSacl(
HANDLE hObject,
SE_OBJECT_TYPE ObjectType,
const CSacl& rSacl,
DWORD dwInheritanceFlowControl = 0,
bool bRequestNeededPrivileges = true) throw(...);
參數
物件
要設定安全性信息的物件句柄。
ObjectType
指定來自 SE_OBJECT_TYPE 列舉的值,這個值表示 hObject 參數所識別的物件類型。
rSacl
包含新安全性資訊的 SACL。
dwInheritanceFlowControl
繼承流程控制。 此值可以是0(預設值)、PROTECTED_SACL_SECURITY_INFORMATION或UNPROTECTED_SACL_SECURITY_INFORMATION。
bRequestNeededPrivileges
如果為 true,函式會嘗試啟用SE_SECURITY_NAME許可權,並在完成時還原。
傳回值
如果成功則傳回 true,失敗則傳回 false。
備註
在偵錯組建中,如果 hObject 無效,或 dwInheritanceFlowControl 不是三個允許值之一,就會發生判斷提示錯誤。
如果要 AtlSetSacl
在許多不同的物件上呼叫多次,在呼叫函式之前啟用SE_SECURITY_NAME許可權會更有效率,且 bRequestNeededPrivileges 設定為 false。
需求
標頭: atlsecurity.h
AtlGetSecurityDescriptor
呼叫此函式可擷取所指物件的安全性描述元。
重要
此函式不能用於在 Windows 執行階段 中執行的應用程式。
inline bool AtlGetSecurityDescriptor(
LPCTSTR pszObjectName,
SE_OBJECT_TYPE ObjectType,
CSecurityDesc* pSecurityDescriptor,
SECURITY_INFORMATION requestedInfo = OWNER_SECURITY_INFORMATION |
GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION |
SACL_SECURITY_INFORMATION,
bool bRequestNeededPrivileges = true) throw(...);
參數
pszObjectName
Null 終止字串的指標,指定要從中擷取安全性資訊的物件名稱。
ObjectType
指定來自 SE_OBJECT_TYPE 列舉的值,這個值表示 pszObjectName 參數所識別的物件類型。
pSecurityDescriptor
接收要求之安全性描述元的物件。
requestedInfo
一組 SECURITY_INFORMATION 位旗標,表示要擷取的安全性資訊類型。 此參數可以是下列值的組合。
bRequestNeededPrivileges
如果為 true,函式會嘗試啟用SE_SECURITY_NAME許可權,並在完成時還原。
傳回值
如果成功則傳回 true,失敗則傳回 false。
備註
如果要 AtlGetSecurityDescriptor
在許多不同的物件上呼叫多次,在呼叫函式之前啟用SE_SECURITY_NAME許可權會更有效率,且 bRequestNeededPrivileges 設定為 false。
需求
標頭: atlsecurity.h