Win32 API:SI_OBJECT_INFO 结构(Aclui.h)
SI_OBJECT_INFO 是在 Windows 操作系统的 Aclui.h 头文件中定义的一个结构体。这个结构体通常用于安全标识符 (SID) 与对象类型之间的映射。以下是 SI_OBJECT_INFO 结构体的定义:typedef struct _SI_OBJECT_INFO { DWORD dwFlags; HINSTANCE hInstance; LPCWSTR pszServerName; LPCWSTR pszObjectName; LPCWSTR pszPageTitle; GUID guidObjectType;} SI_OBJECT_INFO, *PSI_OBJECT_INFO;下面是对结构体成员的简要说明: dwFlags: 一个标志位,用于指定 SI_OBJECT_INFO 结构的属性。 hInstance: 包含资源的实例句柄。 pszServerName: 包含对象所在的服务器的名称。 pszObjectName: 包含对象的名称。 pszPageTitle: 包含属性...
Win32 API:SI_INHERIT_TYPE 结构(Aclui.h)
在 Win32 API 的 Aclui.h 头文件中,SI_INHERIT_TYPE 结构用于描述继承类型。这个结构通常与 EXPLICIT_ACCESS 结构一起使用,以指定一个访问控制项(ACE)的继承属性。以下是 SI_INHERIT_TYPE 结构的定义:typedef struct _SI_INHERIT_TYPE { GUID *pguid; ULONG eInherit; LPCWSTR pszName;} SI_INHERIT_TYPE, *PSI_INHERIT_TYPE;各个成员的含义如下: pguid: 一个指向 GUID 结构的指针,表示继承类型的组。 eInherit: 一个表示继承类型的值,可以是以下之一: - CONTAINER_INHERIT_ACE: ACE 可以被容器对象继承。 - OBJECT_INHERIT_ACE: ACE 可以被非容器对象继承。 - NO_PROPAGATE_INHERIT_ACE: ACE 不传播给子对象。 - INHERIT_ONLY_ACE: ACE 只能被子对象继承。 - INHERITED...
Win32 API:SI_ACCESS 结构(Aclui.h)
SI_ACCESS 结构是 Windows API 中的一个结构,定义在 Aclui.h 头文件中,用于描述安全性标识符(SID)的访问权限。这个结构通常与 EXPLICIT_ACCESS 结构一起使用,以指定一个访问控制项(ACE)的信息。以下是 SI_ACCESS 结构的定义:typedef struct _SI_ACCESS { const GUID *pguid; ACCESS_MASK mask; LPCWSTR pszName; DWORD dwFlags;} SI_ACCESS, *PSI_ACCESS;各个成员的含义如下: pguid: 一个指向 GUID 结构的指针,表示权限的组(通常是对象的类型,如文件、文件夹等)。 mask: 一个表示权限的位掩码(ACCESS_MASK)。 pszName: 一个指向以 NULL 结尾的 Unicode 字符串的指针,表示权限的名称。 dwFlags: 一个标志位,目前未被使用。SI_ACCESS 结构通常用于初始化 EXPLICIT_ACCESS 结构,而后者用于定义访问控制项(ACE)。EXPLICI...
Win32 API:EditSecurity 函数(Aclui.h)
EditSecurity 函数并非 Win32 API 中的标准函数,而是属于 Aclui.h 头文件中的一个函数。Aclui.h 是 Access Control List (ACL) 用户界面支持的头文件,包含了用于编辑安全性描述符的一些函数。在 Aclui.h 中,EditSecurity 函数的声明通常如下所示:BOOL EditSecurity( HWND hwndOwner, PSECURITY_DESCRIPTOR pSecurityDescriptor);该函数用于显示一个对话框,允许用户编辑给定的安全性描述符(PSECURITY_DESCRIPTOR)。参数 hwndOwner 是拥有对话框的窗口的句柄,而 pSecurityDescriptor 则是要编辑的安全性描述符。以下是关于函数参数的说明: hwndOwner:拥有对话框的窗口的句柄,可以是主窗口或者对话框的父窗口。 pSecurityDescriptor:要编辑的安全性描述符的指针。请注意,使用 EditSecurity 函数需要包含 Windows SDK 头文件和链接到相应的库文件...
Win32 API:CreateSecurityPage 函数(Aclui.h)
CreateSecurityPage 函数是 Windows API 中的一个函数,位于 Aclui.h 头文件中。该函数用于创建安全页(Security page)的属性表单,通常用于用户界面中的安全属性对话框。以下是该函数的基本原型:HPROPSHEETPAGE CreateSecurityPage( PSECURITY_DESCRIPTOR pSD, DWORD dwFlags, LPCTSTR lpszCaption);参数说明: pSD:指向 SECURITY_DESCRIPTOR 结构的指针,该结构包含有关对象的安全信息。 dwFlags:指定一组标志,用于控制安全页的创建。 lpszCaption:指定安全页的标题。函数返回一个 HPROPSHEETPAGE 句柄,表示创建的属性表单页面。如果函数失败,返回 NULL。这个函数通常与其他属性页相关的 API 一起使用,例如 PropertySheet 和 PropertySheetEx,用于创建包含多个属性页的属性表单。请注意,这个函数需要在链接时与 Comct...
Win32 API:SetSecurityInfo 函数(Aclapi.h)
SetSecurityInfo 函数是 Windows API 中的函数,用于设置指定对象(如文件、目录或注册表键)的安全描述符信息。这个函数在 Aclapi.h 头文件中声明。以下是该函数的基本原型:DWORD SetSecurityInfo( HANDLE handle, SE_OBJECT_TYPE ObjectType, SECURITY_INFORMATION SecurityInfo, PSID psidOwner, PSID psidGroup, PACL pDacl, PACL pSacl);参数说明: handle:指定一个句柄,该句柄与对象相关联(例如文件、目录、进程等)。 ObjectType:指定对象的类型,例如 SE_FILE_OBJECT 表示文件对象。 SecurityInfo:指定要设置的安全信息类型,如所有者、组、DACL(禁止访问控制列表)、SACL(系统访问控制列表)等...
Win32 API:SetNamedSecurityInfoW 函数(Aclapi.h)
SetNamedSecurityInfoW 函数是 Windows API 中的函数,用于设置指定对象(如文件、目录或注册表键)的安全描述符信息。这个函数在 Aclapi.h 头文件中声明。以下是该函数的基本原型:DWORD SetNamedSecurityInfoW( LPWSTR pObjectName, SE_OBJECT_TYPE ObjectType, SECURITY_INFORMATION SecurityInfo, PSID psidOwner, PSID psidGroup, PACL pDacl, PACL pSacl);参数说明: pObjectName:指定对象的名称。可以是文件、目录、注册表键等的路径。 ObjectType:指定对象的类型,例如 SE_FILE_OBJECT 表示文件对象。 SecurityInfo:指定要设置的安全信息类型,如所有者、组、DACL(禁止访问控制列...
Win32 API:SetNamedSecurityInfoA 函数(Aclapi.h)
SetNamedSecurityInfoA 函数是 Windows API 中的一个函数,用于设置指定对象(如文件、目录或注册表键)的安全描述符信息。这个函数在 Aclapi.h 头文件中声明。以下是该函数的基本原型:DWORD SetNamedSecurityInfoA( LPSTR pObjectName, SE_OBJECT_TYPE ObjectType, SECURITY_INFORMATION SecurityInfo, PSID psidOwner, PSID psidGroup, PACL pDacl, PACL pSacl);参数说明: pObjectName:指定对象的名称。可以是文件、目录、注册表键等的路径。 ObjectType:指定对象的类型,例如 SE_FILE_OBJECT 表示文件对象。 SecurityInfo:指定要设置的安全信息类型,如所有者、组、DACL(禁止访问控...
Win32 API:SetEntriesInAclW 函数(Aclapi.h)
SetEntriesInAclW 函数是 Windows API 中的函数,用于在访问控制列表(ACL)中设置指定的访问控制项(ACE)。这个函数在 Aclapi.h 头文件中声明。以下是该函数的基本原型:DWORD SetEntriesInAclW( ULONG cCountOfExplicitEntries, PEXPLICIT_ACCESS_W pListOfExplicitEntries, PACL OldAcl, PACL *NewAcl);参数说明: cCountOfExplicitEntries:指定显式访问控制项(Explicit Access Control Entries,ACE)的数量。 pListOfExplicitEntries:指向 EXPLICIT_ACCESS_W 结构数组的指针,每个结构体描述一个 ACE。 OldAcl:指向现有 ACL 的指针,可以为 NULL。 NewAcl:接收新的 ACL 的指针。函数返回一个 DWORD 类型的值,表示操作是否成功...
Win32 API:SetEntriesInAclA 函数(Aclapi.h)
SetEntriesInAclA 函数是 Windows API 中的函数,用于在访问控制列表(ACL)中设置指定的访问控制项(ACE)。这个函数在 Aclapi.h 头文件中声明。以下是该函数的基本原型:DWORD SetEntriesInAclA( ULONG cCountOfExplicitEntries, PEXPLICIT_ACCESS_A pListOfExplicitEntries, PACL OldAcl, PACL *NewAcl);参数说明: cCountOfExplicitEntries:指定显式访问控制项(Explicit Access Control Entries,ACE)的数量。 pListOfExplicitEntries:指向 EXPLICIT_ACCESS_A 结构数组的指针,每个结构体描述一个 ACE。 OldAcl:指向现有 ACL 的指针,可以为 NULL。 NewAcl:接收新的 ACL 的指针。函数返回一个 DWORD 类型的值,表示操作是否成功...
Win32 API:GetSecurityInfo 函数(Aclapi.h)
GetSecurityInfo 函数也是 Windows API 中用于获取对象安全描述符信息的函数,同样位于 Aclapi.h 头文件中。以下是该函数的基本原型:DWORD GetSecurityInfo( HANDLE handle, SE_OBJECT_TYPE ObjectType, SECURITY_INFORMATION SecurityInfo, PSID *ppsidOwner, PSID *ppsidGroup, PACL *ppDacl, PACL *ppSacl, PSECURITY_DESCRIPTOR *ppSecurityDescriptor);参数说明: handle:指定一个句柄,该句柄与对象相关联(例如文件、目录、进程等)。 ObjectType:指定对象的类型,例如 SE_FILE_OBJECT 表示文件对象。 SecurityInfo:指定要检索的安全信息类型,如所有...
Win32 API:GetNamedSecurityInfoW 函数(Aclapi.h)
GetNamedSecurityInfoW 是Windows API中的一个函数,位于 Aclapi.h 头文件中。它用于获取对象(如文件、目录或注册表键)的安全描述符信息。以下是该函数的基本原型:DWORD GetNamedSecurityInfoW( LPWSTR pObjectName, SE_OBJECT_TYPE ObjectType, SECURITY_INFORMATION SecurityInfo, PSID *ppsidOwner, PSID *ppsidGroup, PACL *ppDacl, PACL *ppSacl, PSECURITY_DESCRIPTOR *ppSecurityDescriptor);参数说明: pObjectName:指定对象的名称。可以是文件、目录、注册表键等的路径。 ObjectType:指定对象的类型,例如 SE_FILE_OBJECT 表示文件对象...
Win32 API:GetNamedSecurityInfoA 函数(Aclapi.h)
GetNamedSecurityInfoA 是 Win32 API 中的一个函数,用于获取指定对象的安全描述符(Security Descriptor)。该函数位于 Aclapi.h 头文件中。以下是 GetNamedSecurityInfoA 函数的基本信息:DWORD GetNamedSecurityInfoA( LPCSTR pObjectName, SE_OBJECT_TYPE ObjectType, SECURITY_INFORMATION SecurityInfo, PSID *ppSidOwner, PSID *ppSidGroup, PACL *ppDacl, PACL *ppSacl, PSECURITY_DESCRIPTOR *ppSecurityDescriptor);参数说明: pObjectName:一个以 null 结尾的字符串,表示要获取安全描述符的对象的名称。 ObjectType...
Win32 API:GetInheritanceSourceA 函数(Aclapi.h)
GetInheritanceSourceA 函数用于获取指定对象的继承源信息,即指定对象继承自哪些对象以及继承自这些对象的访问控制信息。该函数位于 Aclapi.h 头文件中。以下是 GetInheritanceSourceA 函数的基本信息:DWORD GetInheritanceSourceA( LPCSTR pObjectName, SECURITY_INFORMATION SecurityInfo, BOOL Container, GUID *pObjectClassGuid, DWORD dwInheritanceFlags, PACL pAcl, PFN_OBJECT_MGR_FUNCTS pfnArray, PGENERIC_MAPPING p...
Win32 API:GetExplicitEntriesFromAclA 函数(Aclapi.h)
GetExplicitEntriesFromAclA 函数用于获取指定访问控制列表(ACL)的显式访问控制项(ACE)信息。这个函数位于 Aclapi.h 头文件中。以下是 GetExplicitEntriesFromAclA 函数的基本信息:DWORD GetExplicitEntriesFromAclA( PACL pacl, PULONG pcCountOfExplicitEntries, PEXPLICIT_ACCESS_A *pListOfExplicitEntries);参数说明: pacl:一个指向访问控制列表(ACL)的指针,表示要获取信息的ACL。 pcCountOfExplicitEntries:一个指向 ULONG 的指针,表示存储显式访问控制项(ACE)数量的变量。 pListOfExplicitEntries:一个指向 EXPLICIT_ACCESS 结构体数组的指针,该结构体数组将用于存储显式访问控制项的信息。函数返回一个DWORD,表示函数执行的结果。如果成功,返回 ERROR_SU...
Win32 API:GetEffectiveRightsFromAclA 函数(Aclapi.h)
GetEffectiveRightsFromAclA 函数用于检索一个指定的访问控制列表(ACL)对于指定的安全描述符(SID)的有效权限。这个函数位于 Aclapi.h 头文件中。以下是 GetEffectiveRightsFromAclA 函数的基本信息:DWORD GetEffectiveRightsFromAclA( PACL pacl, PSID pSid, PEXPLICIT_ACCESS_A pExplicitAccess);参数说明: pacl:一个指向访问控制列表(ACL)的指针,表示要检查的ACL。 pSid:一个指向安全描述符(SID)的指针,表示要检查的SID。 pExplicitAccess:一个指向 EXPLICIT_ACCESS 结构体的指针,该结构体将包含有关有效权限的信息。函数返回一个DWORD,表示指定的SID对指定ACL的有效权限。如果出现错误,将返回 ERROR_INVALID_PARAMETER。需要注意的是,GetEffectiveRightsFromAclA 是ANSI版本的函数。如果你的应用程序使...
Win32 API:BuildTrusteeWithSidA 函数(Aclapi.h)
BuildTrusteeWithSidA 是 Win32 API 中的一个函数,它用于构建一个表示指定安全标识符(SID)的 TRUSTEE 结构体。该函数位于 Aclapi.h 头文件中。以下是 BuildTrusteeWithSidA 函数的基本信息:BOOL BuildTrusteeWithSidA( PTRUSTEE_A pTrustee, PSID pSid);参数说明: pTrustee:一个指向 TRUSTEE 结构体的指针,该结构体将被初始化以表示指定 SID 的信任。 pSid:一个指向安全标识符(SID)的指针,表示信任的 SID。函数返回值为 BOOL 类型,表示是否成功创建了 TRUSTEE 结构体。BuildTrusteeWithSidA 函数用于构建一个表示指定 SID 的信任,通常用于访问控制列表(ACL)中的访问控制项(ACE)。在使用这个函数之前,通常需要先初始化一个 TRUSTEE 结构体,然后通过该函数为其设置指定的 SID。需要注意的是,BuildTrusteeWithSidA 是 ANSI 版本的函数,如果你的应用程序使用 Un...
Win32 API:BuildTrusteeWithObjectsAndSidA 函数(Aclapi.h)
BuildTrusteeWithObjectsAndSidA 是 Win32 API 中的一个函数,它用于构建一个表示指定对象、安全标识符(SID)和名称的 TRUSTEE 结构体。该函数位于 Aclapi.h 头文件中。以下是 BuildTrusteeWithObjectsAndSidA 函数的基本信息:BOOL BuildTrusteeWithObjectsAndSidA( PTRUSTEE_A pTrustee, POBJECTS_AND_SID pObjSid, GUID * pObjectGuid, GUID * pInheritedObjectGuid, LPCSTR pName);参数说明: pTrustee:一个指向 TRUSTEE 结构体的指针,该结构体将被初始化以表示指定对象、SID 和名称的信任。 pObjSid:一个指向 OBJECTS_AND_SID 结构体的指针,包含有关对象、SID 和名称的信息。 pObjectGuid:一个指...
Win32 API:BuildTrusteeWithNameW 函数(Aclapi.h)
BuildTrusteeWithNameW 函数是 Win32 API 中的一个函数,它位于 Aclapi.h 头文件中。与 BuildTrusteeWithNameA 不同的是,BuildTrusteeWithNameW 是宽字符版本的函数,用于创建一个 TRUSTEE 结构体,该结构体表示一个指定名称的信任。以下是 BuildTrusteeWithNameW 函数的基本信息:BOOL BuildTrusteeWithNameW( PTRUSTEE_W pTrustee, LPCWSTR pName);参数说明: pTrustee:一个指向 TRUSTEE 结构体的指针,该结构体将被初始化以表示一个指定名称的信任。 pName:一个以 null 结尾的字符串,表示信任的名称。函数返回值为 BOOL 类型,表示是否成功创建了 TRUSTEE 结构体。BuildTrusteeWithNameW 函数用于构建一个表示指定名称的信任,通常用于访问控制列表(ACL)中的访问控制项(ACE)。在使用这个函数之前,通常需要先初始化一个 TRUSTEE 结构体,然后通过该函数为其设置指定的名...
Win32 API:BuildTrusteeWithNameA 函数(Aclapi.h)
BuildTrusteeWithNameA 函数是 Win32 API 中的一个函数,它位于 Aclapi.h 头文件中,用于创建一个 TRUSTEE 结构体,该结构体表示一个指定名称的信任(trustee)。以下是 BuildTrusteeWithNameA 函数的基本信息:BOOL BuildTrusteeWithNameA( PTRUSTEE_A pTrustee, LPCSTR pName);参数说明: pTrustee:一个指向 TRUSTEE 结构体的指针,该结构体将被初始化以表示一个指定名称的信任。 pName:一个以 null 结尾的字符串,表示信任的名称。函数返回值为 BOOL 类型,表示是否成功创建了 TRUSTEE 结构体。BuildTrusteeWithNameA 函数用于构建一个表示指定名称的信任,该信任通常用于访问控制列表(ACL)中的访问控制项(ACE)。在使用这个函数之前,通常需要先初始化一个 TRUSTEE 结构体,然后通过该函数为其设置指定的名称。需要注意的是,BuildTrusteeWithNameA 是 ANSI 版本的函数,如果你的应...