Win32 API:BuildSecurityDescriptorW 函数(Aclapi.h)
BuildSecurityDescriptorW 函数也是 Win32 API 中的一个函数,它位于 Aclapi.h 头文件中。与 BuildSecurityDescriptorA 不同的是,BuildSecurityDescriptorW 是宽字符版本的函数,用于构建安全描述符(Security Descriptor)。以下是 BuildSecurityDescriptorW 函数的基本信息:BOOL BuildSecurityDescriptorW( PEXPLICIT_ACCESS_W pExplicitAccess, PACL pExplicitAccessList, PSECURITY_DESCRIPTOR pSecurityDescriptor, PULONG pSecurityDescriptorSize);参数说明: pExplicitAccess:一个指向 EXPLICIT_ACCESS 结构体数组的指针,该结构体包含有关对象的访问权限信息。 pExplicitAccessList:一个指向 ACL(访问控...
Win32 API:BuildSecurityDescriptorA 函数(Aclapi.h)
BuildSecurityDescriptorA 是 Win32 API 中的一个函数,它位于 Aclapi.h 头文件中,用于构建安全描述符(Security Descriptor)。安全描述符是一个数据结构,用于描述一个对象(如文件、文件夹、进程等)的安全属性,包括访问权限和所有者信息。以下是 BuildSecurityDescriptorA 函数的基本信息:BOOL BuildSecurityDescriptorA( PEXPLICIT_ACCESS_A pExplicitAccess, PACL pExplicitAccessList, PSECURITY_DESCRIPTOR pSecurityDescriptor, PULONG pSecurityDescriptorSize);参数说明: pExplicitAccess:一个指向 EXPLICIT_ACCESS 结构体数组的指针,该结构体包含有关对象的访问权限信息。 pExplicitAccessList:一个指向 ACL(访问控制列表)的指针,该 ACL 包含有...
Win32 API:BuildExplicitAccessWithNameW 函数(Aclapi.h)
BuildExplicitAccessWithNameW 函数是 Windows API 中 Aclapi.h 头文件中的一个函数,用于构建 EXPLICIT_ACCESS_W 结构,其中包含一个明确指定的访问权限。这个函数在访问控制列表 (ACL) 条目的设置中常用。下面是该函数的定义:BOOL BuildExplicitAccessWithNameW( PEXPLICIT_ACCESSW pExplicitAccess, LPWSTR pTrusteeName, DWORD AccessPermissions, ACCESS_MODE AccessMode, DWORD Inheritance);参数说明如下: pExplicitAccess:一个指向 EXPLICIT_ACCESS_W 结构的指针,用于存储构建的访问权限信息。 pTrusteeName:一个以 NULL 结尾的宽字符(Unicode)字符串,表示要授予或拒绝访问权限的受信任实体的名称。 AccessPermissions:一个 D...
Win32 API:BuildExplicitAccessWithNameA 函数(Aclapi.h)
BuildExplicitAccessWithNameA 函数是 Windows API 中 Aclapi.h 头文件中的一个函数,用于构建 EXPLICIT_ACCESS_A 结构,其中包含一个明确指定的访问权限。这个函数在访问控制列表 (ACL) 条目的设置中常用。下面是该函数的定义:BOOL BuildExplicitAccessWithNameA( PEXPLICIT_ACCESSA pExplicitAccess, LPSTR pTrusteeName, DWORD AccessPermissions, ACCESS_MODE AccessMode, DWORD Inheritance);参数说明如下: pExplicitAccess:一个指向 EXPLICIT_ACCESS_A 结构的指针,用于存储构建的访问权限信息。 pTrusteeName:一个以 NULL 结尾的 ANSI 字符串,表示要授予或拒绝访问权限的受信任实体的名称。 AccessPermissions:一个DWORD值,表...
Win32 API:IAccountsSettingsPaneInterop 接口(Accountssettingspaneinterop.h)
IAccountsSettingsPaneInterop 接口是 Windows 运行时 (WinRT) API 的一部分,用于在 Universal Windows Platform (UWP) 应用程序中与系统的账户设置窗格进行交互。这个接口通常用于与系统设置集成,允许用户管理与应用程序相关联的帐户。以下是 IAccountsSettingsPaneInterop 接口的定义:interface IAccountsSettingsPaneInterop : IInspectable{ HRESULT GetForWindow( HWND hwnd, REFIID riid, void **ppv );};该接口包含一个方法 GetForWindow,用于获取与指定窗口相关联的 IAccountsSettingsPane 对象。这个接口的实现通常由系统提供,用于让应用程序能够打开系统的账户设置窗格。如果你想要在 UWP 应用程序中调用此接口,通常可以使用 C++/WinRT 来进行调用。以下是一个示例:#include &...
Win32 API:TRUSTEE_TYPE 枚举(Accctrl.h)
在 Win32 API 的 Accctrl.h 头文件中,TRUSTEE_TYPE 枚举用于表示 TRUSTEE 结构中 ptstrName 字段中指定的受信任实体的类型。下面是该枚举的定义:typedef enum _TRUSTEE_TYPE { TRUSTEE_IS_UNKNOWN, TRUSTEE_IS_USER, TRUSTEE_IS_GROUP, TRUSTEE_IS_DOMAIN, TRUSTEE_IS_ALIAS, TRUSTEE_IS_WELL_KNOWN_GROUP, TRUSTEE_IS_DELETED, TRUSTEE_IS_INVALID, TRUSTEE_IS_COMPUTER} TRUSTEE_TYPE;这个枚举包含以下成员: TRUSTEE_IS_UNKNOWN:未知的受信任实体类型。 TRUSTEE_IS_USER:用户。 TRUSTEE_IS_GROUP:组。 TRUSTEE_IS_DOMAIN:域。 TRUSTEE_IS_ALIAS:别名。 TRUSTEE_IS_WELL_KNOWN_GROUP:已知的组。 TRUSTEE_IS_D...
Win32 API:TRUSTEE_FORM 枚举(Accctrl.h)
在 Win32 API 的 Accctrl.h 头文件中,TRUSTEE_FORM 枚举用于表示 TRUSTEE 结构中 ptstrName 字段的格式。下面是该枚举的定义:typedef enum _TRUSTEE_FORM { TRUSTEE_IS_SID, TRUSTEE_IS_NAME, TRUSTEE_BAD_FORM, TRUSTEE_IS_OBJECTS_AND_SID, TRUSTEE_IS_OBJECTS_AND_NAME} TRUSTEE_FORM;这个枚举包含以下成员: TRUSTEE_IS_SID:ptstrName 包含受信任实体的安全标识符 (SID)。 TRUSTEE_IS_NAME:ptstrName 包含受信任实体的名称。 TRUSTEE_BAD_FORM:ptstrName 的格式无效。 TRUSTEE_IS_OBJECTS_AND_SID:ptstrName 包含 OBJECTS_AND_SID 结构。 TRUSTEE_IS_OBJECTS_AND_NAME:ptstrName 包含 OBJECTS_AND_NAME 结构。这些成员用于在...
Win32 API:SE_OBJECT_TYPE 枚举(Accctrl.h)
在 Win32 API 的 Accctrl.h 头文件中,SE_OBJECT_TYPE 枚举用于表示安全描述符中的对象类型。下面是该枚举的定义:typedef enum tagSE_OBJECT_TYPE { SE_UNKNOWN_OBJECT_TYPE, SE_FILE_OBJECT, SE_SERVICE, SE_PRINTER, SE_REGISTRY_KEY, SE_LMSHARE, SE_KERNEL_OBJECT, SE_WINDOW_OBJECT, SE_DS_OBJECT, SE_DS_OBJECT_ALL, SE_PROVIDER_DEFINED_OBJECT, SE_WMIGUID_OBJECT, SE_REGISTRY_WOW64_32KEY} SE_OBJECT_TYPE;这个枚举包含以下成员: SE_UNKNOWN_OBJECT_TYPE:未知的对象类型。 SE_FILE_OBJECT:文件或目录。 SE_SERVICE:服务。 SE_PRINTER:打印机。 SE_REGISTRY_KEY:注册表项。 SE_LMSHARE:共享。 ...
Win32 API:PROG_INVOKE_SETTING 枚举(Accctrl.h)
在 Win32 API 的 Accctrl.h 头文件中,PROG_INVOKE_SETTING 枚举用于表示程序启动设置。下面是该枚举的定义:typedef enum tagPROG_INVOKE_SETTING { INVOKE_NONE, INVOKE_DEFAULT, INVOKE_PROPERTY_DLG, INVOKE_SET_PROPERTY} PROG_INVOKE_SETTING;这个枚举包含以下成员: INVOKE_NONE:不进行程序调用。 INVOKE_DEFAULT:使用默认的程序调用设置。 INVOKE_PROPERTY_DLG:调用属性对话框。 INVOKE_SET_PROPERTY:设置属性。这些成员用于在一些函数或结构中指定程序的调用设置,例如在与安全描述符相关的操作中,可以用于指定启动哪种类型的程序调用。这个枚举通常在与访问控制相关的函数和结构中使用,以指定与程序调用相关的设置。
Win32 API:MULTIPLE_TRUSTEE_OPERATION 枚举(Accctrl.h)
在 Win32 API 的 Accctrl.h 头文件中,MULTIPLE_TRUSTEE_OPERATION 枚举用于表示多个受信任实体之间的操作。下面是该枚举的定义:typedef enum _MULTIPLE_TRUSTEE_OPERATION { NO_MULTIPLE_TRUSTEE, TRUSTEE_IS_IMPERSONATE, TRUSTEE_IS_SELF} MULTIPLE_TRUSTEE_OPERATION;这个枚举包含以下成员: NO_MULTIPLE_TRUSTEE:表示没有多个受信任实体。 TRUSTEE_IS_IMPERSONATE:表示使用模拟的令牌来模拟多个受信任实体。 TRUSTEE_IS_SELF:表示代表本身(SELF)。这些成员用于在 TRUSTEE 结构中指定多个受信任实体之间的关系和操作。TRUSTEE 结构的 MultipleTrusteeOperation 字段就使用了这个枚举,用于表示操作多个受信任实体时的模式。这个枚举通常在涉及访问控制列表 (ACL) 中的 ACE 条目时使用,以指定在存在多个受信任实体时应如何操作。
Win32 API:ACCESS_MODE 枚举(Accctrl.h)
在 Win32 API 的 Accctrl.h 头文件中,ACCESS_MODE 枚举用于表示访问控制项 (ACE) 的访问模式。下面是该枚举的定义:typedef enum tagACCESS_MODE { NOT_USED_ACCESS, GRANT_ACCESS, SET_ACCESS, DENY_ACCESS, REVOKE_ACCESS, SET_AUDIT_SUCCESS, SET_AUDIT_FAILURE} ACCESS_MODE;这个枚举包含以下成员: NOT_USED_ACCESS:未使用的访问模式。 GRANT_ACCESS:授予访问权限。 SET_ACCESS:设置访问权限。 DENY_ACCESS:拒绝访问权限。 REVOKE_ACCESS:撤销访问权限。 SET_AUDIT_SUCCESS:设置成功的审核。 SET_AUDIT_FAILURE:设置失败的审核。这些访问模式用于在访问控制列表 (ACL) 条目中指定对于某个受信任实体的权限操作。例如,在 EXPLICIT_ACCESS 结构中,grfAccessMode 字段就使用了这个枚举,用于...
Win32 API:TRUSTEE_W 结构(Accctrl.h)
在 Win32 API 的 Accctrl.h 头文件中,TRUSTEE_W 结构是用于描述访问控制列表 (ACL) 条目的受信任实体的一部分。这个结构在 Unicode 字符集下使用,结构定义如下:typedef struct _TRUSTEE_W { struct _TRUSTEE_W *pMultipleTrustee; MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation; TRUSTEE_FORM TrusteeForm; TRUSTEE_TYPE TrusteeType; LPWSTR ptstrName;} TRUSTEE_W, *PTRUSTEE_W;这个结构包含以下字段: pMultipleTrustee:一个指向另一个 TRUSTEE_W 结构的指针,用于表示多个受信任实体。如果只有一个受信任实体,则此字段为 NULL。 MultipleTrusteeOperation:一个枚举值,表示在存在多个受信任实体时的操作。可能的值为: - NO_MULTIPLE_TRUSTEE:没有多个受信任实体。 - TR...
Win32 API:TRUSTEE_A 结构(Accctrl.h)
在 Win32 API 的 Accctrl.h 头文件中,TRUSTEE_A 结构是用于描述访问控制列表 (ACL) 条目的受信任实体的一部分。这个结构在 ANSI 字符集下使用,结构定义如下:typedef struct _TRUSTEE_A { struct _TRUSTEE_A *pMultipleTrustee; MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation; TRUSTEE_FORM TrusteeForm; TRUSTEE_TYPE TrusteeType; LPSTR ptstrName;} TRUSTEE_A, *PTRUSTEE_A;这个结构包含以下字段: pMultipleTrustee:一个指向另一个 TRUSTEE_A 结构的指针,用于表示多个受信任实体。如果只有一个受信任实体,则此字段为 NULL。 MultipleTrusteeOperation:一个枚举值,表示在存在多个受信任实体时的操作。可能的值为: - NO_MULTIPLE_TRUSTEE:没有多个受信任实体。 - TRUSTE...
Win32 API:OBJECTS_AND_SID 结构(Accctrl.h)
OBJECTS_AND_SID 结构是在 Win32 API 的 Accctrl.h 头文件中定义的,用于描述对象的安全描述符(security descriptor)的一部分。下面是该结构的定义:typedef struct _OBJECTS_AND_SID { DWORD ObjectsPresent; SE_OBJECT_TYPE ObjectType; LPWSTR ObjectTypeName; LPWSTR InheritedObjectTypeName; GUID * InheritedObjectType; GUID * pSid;} OBJECTS_AND_SID, *POBJECTS_AND_SID;这个结构包含以下字段: ObjectsPresent:一个标志位,表示结构中的哪些字段是有效的。可以是以下值的组合: - SE_OBJECT_TYPE_PRESENT:ObjectType 字段是有效的。 - SE_OBJECT_NAME_PRESENT:ObjectTyp...
Win32 API:OBJECTS_AND_NAME_W 结构(Accctrl.h)
OBJECTS_AND_NAME_W 结构是在 Win32 API 的 Accctrl.h 头文件中定义的,用于描述对象的安全描述符(security descriptor)的一部分,其中“W”表示宽字符集(Unicode)。下面是该结构的定义:typedef struct _OBJECTS_AND_NAME_W { DWORD ObjectsPresent; SE_OBJECT_TYPE ObjectType; LPWSTR ObjectTypeName; LPWSTR InheritedObjectTypeName; LPWSTR ptstrName;} OBJECTS_AND_NAME_W, *POBJECTS_AND_NAME_W;这个结构与之前提到的 OBJECTS_AND_NAME_A 结构类似,但是使用了宽字符集。结构的字段包括: ObjectsPresent:一个标志位,表示结构中的哪些字段是有效的。可以是以下值的组合: - SE_OBJECT_TYPE_PRESENT:ObjectType 字段是有效的。 ...
Win32 API:OBJECTS_AND_NAME_A 结构(Accctrl.h)
在 Win32 API 的 Accctrl.h 头文件中,OBJECTS_AND_NAME_A 结构是用于描述对象的安全描述符(security descriptor)的一部分。这个结构主要用于指定一个对象以及与之相关的名字。下面是该结构的定义:typedef struct _OBJECTS_AND_NAME_A { DWORD ObjectsPresent; SE_OBJECT_TYPE ObjectType; LPSTR ObjectTypeName; LPSTR InheritedObjectTypeName; LPSTR ptstrName;} OBJECTS_AND_NAME_A, *POBJECTS_AND_NAME_A;这个结构包含以下字段: ObjectsPresent:一个标志位,表示结构中的哪些字段是有效的。可以是以下值的组合: - SE_OBJECT_TYPE_PRESENT:ObjectType 字段是有效的。 - SE_OBJECT_NAME_PRESENT:ptstrName 字段是有效的...
Win32 API:INHERITED_FROMW 结构(Accctrl.h)
INHERITED_FROMW 结构是在 Win32 API 的 Accctrl.h 头文件中定义的,用于描述访问控制列表 (ACL) 条目的继承信息,其中“W”表示宽字符集(Unicode)。下面是该结构的定义:typedef struct _INHERITED_FROMW { DWORD GenerationGap; PACL AncestorAcl; PTRUSTEE_W InheritedTrustee; DWORD InheritedObjectType; DWORD InheritedObjectTypeSpecificFlags;} INHERITED_FROMW, *PINHERITED_FROMW;这个结构与之前提到的 INHERITED_FROMA 结构类似,用于描述继承信息,但是使用了宽字符集。结构的字段包括: GenerationGap:表示继承信息的代际差异。这是一个无符号长整型 (DWORD),表示当前 ACL 条目与其祖先 ACL 条目之间的代际差异。 Ancest...
Win32 API:INHERITED_FROMA 结构(Accctrl.h)
INHERITED_FROMA 结构是在 Win32 API 的 Accctrl.h 头文件中定义的,用于描述访问控制列表 (ACL) 条目的继承信息。下面是该结构的定义:typedef struct _INHERITED_FROMA { DWORD GenerationGap; PACL AncestorAcl; PTRUSTEE_A InheritedTrustee; DWORD InheritedObjectType; DWORD InheritedObjectTypeSpecificFlags;} INHERITED_FROMA, *PINHERITED_FROMA;这个结构包含以下字段: GenerationGap:表示继承信息的代际差异。这是一个无符号长整型 (DWORD),表示当前 ACL 条目与其祖先 ACL 条目之间的代际差异。 AncestorAcl:一个指向祖先 ACL 的指针。祖先 ACL 是当前 ACL 条目从中继承访问权限的 ACL。 InheritedTrustee...
Win32 API:EXPLICIT_ACCESS_W 结构(Accctrl.h)
EXPLICIT_ACCESS_W 结构是在 Win32 API 的 Accctrl.h 头文件中定义的,用于表示对对象的显式访问控制列表 (ACL) 条目,其中“W”表示宽字符集(Unicode)。下面是该结构的定义:typedef struct _EXPLICIT_ACCESS_W { DWORD grfAccessPermissions; ACCESS_MODE grfAccessMode; DWORD grfInheritance; TRUSTEE_W Trustee;} EXPLICIT_ACCESS_W, *PEXPLICIT_ACCESS_W, TRUSTEE_ACCESS_W, *PTRUSTEE_ACCESS_W;这个结构与之前提到的 EXPLICIT_ACCESS_A 结构类似,用于描述 ACL 条目,但是使用了宽字符集。结构的字段包括: grfAccessPermissions:表示允许或拒绝的访问权限。这是一个组合值,可以包含多个权限标志,如 GENERIC_READ、GENERIC_WRITE 等。 grfAcces...
Win32 API:EXPLICIT_ACCESS_A 结构(Accctrl.h)
EXPLICIT_ACCESS_A 结构是在 Win32 API 的 Accctrl.h 头文件中定义的,用于表示对对象的显式访问控制列表 (ACL) 条目。下面是该结构的定义:typedef struct _EXPLICIT_ACCESS_A { DWORD grfAccessPermissions; ACCESS_MODE grfAccessMode; DWORD grfInheritance; TRUSTEE_A Trustee;} EXPLICIT_ACCESS_A, *PEXPLICIT_ACCESS_A, TRUSTEE_ACCESS_A, *PTRUSTEE_ACCESS_A;这个结构包含以下字段: grfAccessPermissions:表示允许或拒绝的访问权限。这是一个组合值,可以包含多个权限标志,如 GENERIC_READ、GENERIC_WRITE 等。 grfAccessMode:指定 grfAccessPermissions 的意义,是允许还是拒绝。可能的值为 GRANT_ACCESS 或 DENY_ACCESS...