⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 accctrl.h

📁 北京大学ACM在线评测系统 OnlineJudge
💻 H
字号:
#ifndef _ACCCTRL_H#define _ACCCTRL_H#if __GNUC__ >=3#pragma GCC system_header#endif#ifdef __cplusplusextern "C" {#endif#define AccFree LocalFree#define ACTRL_RESERVED            0x00000000#define ACTRL_ACCESS_PROTECTED    0x00000001#define ACTRL_ACCESS_ALLOWED      0x00000001#define ACTRL_ACCESS_DENIED       0x00000002#define ACTRL_AUDIT_SUCCESS       0x00000004#define ACTRL_AUDIT_FAILURE       0x00000008#define ACTRL_SYSTEM_ACCESS       0x04000000#define ACTRL_DELETE              0x08000000#define ACTRL_READ_CONTROL        0x10000000#define ACTRL_CHANGE_ACCESS       0x20000000#define ACTRL_CHANGE_OWNER        0x40000000#define ACTRL_SYNCHRONIZE         0x80000000#define ACTRL_STD_RIGHTS_ALL      0xf8000000#define ACTRL_FILE_READ           0x00000001#define ACTRL_FILE_WRITE          0x00000002#define ACTRL_FILE_APPEND         0x00000004#define ACTRL_FILE_READ_PROP      0x00000008#define ACTRL_FILE_WRITE_PROP     0x00000010#define ACTRL_FILE_EXECUTE        0x00000020#define ACTRL_FILE_READ_ATTRIB    0x00000080#define ACTRL_FILE_WRITE_ATTRIB   0x00000100#define ACTRL_FILE_CREATE_PIPE    0x00000200#define ACTRL_DIR_LIST            0x00000001#define ACTRL_DIR_CREATE_OBJECT   0x00000002#define ACTRL_DIR_CREATE_CHILD    0x00000004#define ACTRL_DIR_DELETE_CHILD    0x00000040#define ACTRL_DIR_TRAVERSE        0x00000020#define ACTRL_KERNEL_TERMINATE    0x00000001#define ACTRL_KERNEL_THREAD       0x00000002#define ACTRL_KERNEL_VM           0x00000004#define ACTRL_KERNEL_VM_READ      0x00000008#define ACTRL_KERNEL_VM_WRITE     0x00000010#define ACTRL_KERNEL_DUP_HANDLE   0x00000020#define ACTRL_KERNEL_PROCESS      0x00000040#define ACTRL_KERNEL_SET_INFO     0x00000080#define ACTRL_KERNEL_GET_INFO     0x00000100#define ACTRL_KERNEL_CONTROL      0x00000200#define ACTRL_KERNEL_ALERT        0x00000400#define ACTRL_KERNEL_GET_CONTEXT  0x00000800#define ACTRL_KERNEL_SET_CONTEXT  0x00001000#define ACTRL_KERNEL_TOKEN        0x00002000#define ACTRL_KERNEL_IMPERSONATE  0x00004000#define ACTRL_KERNEL_DIMPERSONATE 0x00008000#define ACTRL_PRINT_SADMIN        0x00000001#define ACTRL_PRINT_SLIST         0x00000002#define ACTRL_PRINT_PADMIN        0x00000004#define ACTRL_PRINT_PUSE          0x00000008#define ACTRL_PRINT_JADMIN        0x00000010#define ACTRL_SVC_GET_INFO        0x00000001#define ACTRL_SVC_SET_INFO        0x00000002#define ACTRL_SVC_STATUS          0x00000004#define ACTRL_SVC_LIST            0x00000008#define ACTRL_SVC_START           0x00000010#define ACTRL_SVC_STOP            0x00000020#define ACTRL_SVC_PAUSE           0x00000040#define ACTRL_SVC_INTERROGATE     0x00000080#define ACTRL_SVC_UCONTROL        0x00000100#define ACTRL_REG_QUERY           0x00000001#define ACTRL_REG_SET             0x00000002#define ACTRL_REG_CREATE_CHILD    0x00000004#define ACTRL_REG_LIST            0x00000008#define ACTRL_REG_NOTIFY          0x00000010#define ACTRL_REG_LINK            0x00000020#define ACTRL_WIN_CLIPBRD         0x00000001#define ACTRL_WIN_GLOBAL_ATOMS    0x00000002#define ACTRL_WIN_CREATE          0x00000004#define ACTRL_WIN_LIST_DESK       0x00000008#define ACTRL_WIN_LIST            0x00000010#define ACTRL_WIN_READ_ATTRIBS    0x00000020#define ACTRL_WIN_WRITE_ATTRIBS   0x00000040#define ACTRL_WIN_SCREEN          0x00000080#define ACTRL_WIN_EXIT            0x00000100#define ACTRL_ACCESS_NO_OPTIONS                 0x00000000#define ACTRL_ACCESS_SUPPORTS_OBJECT_ENTRIES    0x00000001#define ACCCTRL_DEFAULT_PROVIDERA   "Windows NT Access Provider"#define ACCCTRL_DEFAULT_PROVIDERW  L"Windows NT Access Provider"#define TRUSTEE_ACCESS_ALLOWED    0x00000001L#define TRUSTEE_ACCESS_READ       0x00000002L#define TRUSTEE_ACCESS_WRITE      0x00000004L#define TRUSTEE_ACCESS_EXPLICIT   0x00000001L#define TRUSTEE_ACCESS_READ_WRITE   (TRUSTEE_ACCESS_READ | TRUSTEE_ACCESS_WRITE)#define TRUSTEE_ACCESS_ALL        0xFFFFFFFFL#define NO_INHERITANCE	          0x0#define SUB_OBJECTS_ONLY_INHERIT  0x1#define SUB_CONTAINERS_ONLY_INHERIT 0x2#define SUB_CONTAINERS_AND_OBJECTS_INHERIT  0x3#define INHERIT_NO_PROPAGATE      0x4#define INHERIT_ONLY              0x8#define INHERITED_ACCESS_ENTRY    0x10#define INHERITED_PARENT          0x10000000#define INHERITED_GRANDPARENT     0x20000000typedef ULONG INHERIT_FLAGS, *PINHERIT_FLAGS;typedef ULONG ACCESS_RIGHTS, *PACCESS_RIGHTS;typedef enum _ACCESS_MODE {	NOT_USED_ACCESS = 0,	GRANT_ACCESS,	SET_ACCESS,	DENY_ACCESS,	REVOKE_ACCESS,	SET_AUDIT_SUCCESS,	SET_AUDIT_FAILURE} ACCESS_MODE;typedef enum _SE_OBJECT_TYPE {	SE_UNKNOWN_OBJECT_TYPE = 0,	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;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;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;typedef enum _MULTIPLE_TRUSTEE_OPERATION {	NO_MULTIPLE_TRUSTEE,	TRUSTEE_IS_IMPERSONATE} MULTIPLE_TRUSTEE_OPERATION;typedef struct _TRUSTEE_A {	struct _TRUSTEE_A          *pMultipleTrustee;	MULTIPLE_TRUSTEE_OPERATION  MultipleTrusteeOperation;	TRUSTEE_FORM                TrusteeForm;	TRUSTEE_TYPE                TrusteeType;	LPSTR                       ptstrName;} TRUSTEE_A, *PTRUSTEE_A, TRUSTEEA, *PTRUSTEEA;typedef struct _TRUSTEE_W {	struct _TRUSTEE_W          *pMultipleTrustee;	MULTIPLE_TRUSTEE_OPERATION  MultipleTrusteeOperation;	TRUSTEE_FORM                TrusteeForm;	TRUSTEE_TYPE                TrusteeType;	LPWSTR                      ptstrName;} TRUSTEE_W, *PTRUSTEE_W, TRUSTEEW, *PTRUSTEEW;typedef struct _ACTRL_ACCESS_ENTRYA {	TRUSTEE_A       Trustee;	ULONG           fAccessFlags;	ACCESS_RIGHTS   Access;	ACCESS_RIGHTS   ProvSpecificAccess;	INHERIT_FLAGS   Inheritance;	LPCSTR          lpInheritProperty;} ACTRL_ACCESS_ENTRYA, *PACTRL_ACCESS_ENTRYA;typedef struct _ACTRL_ACCESS_ENTRYW {	TRUSTEE_W       Trustee;	ULONG           fAccessFlags;	ACCESS_RIGHTS   Access;	ACCESS_RIGHTS   ProvSpecificAccess;	INHERIT_FLAGS   Inheritance;	LPCWSTR         lpInheritProperty;} ACTRL_ACCESS_ENTRYW, *PACTRL_ACCESS_ENTRYW;typedef struct _ACTRL_ACCESS_ENTRY_LISTA {	ULONG                  cEntries;	ACTRL_ACCESS_ENTRYA    *pAccessList;} ACTRL_ACCESS_ENTRY_LISTA, *PACTRL_ACCESS_ENTRY_LISTA;typedef struct _ACTRL_ACCESS_ENTRY_LISTW {	ULONG                  cEntries;	ACTRL_ACCESS_ENTRYW    *pAccessList;} ACTRL_ACCESS_ENTRY_LISTW, *PACTRL_ACCESS_ENTRY_LISTW;typedef struct _ACTRL_PROPERTY_ENTRYA {	LPCSTR                      lpProperty;	PACTRL_ACCESS_ENTRY_LISTA   pAccessEntryList;	ULONG                       fListFlags;} ACTRL_PROPERTY_ENTRYA, *PACTRL_PROPERTY_ENTRYA;typedef struct _ACTRL_PROPERTY_ENTRYW {	LPCWSTR                     lpProperty;	PACTRL_ACCESS_ENTRY_LISTW   pAccessEntryList;	ULONG                       fListFlags;} ACTRL_PROPERTY_ENTRYW, *PACTRL_PROPERTY_ENTRYW;typedef struct _ACTRL_ALISTA {	ULONG                       cEntries;	PACTRL_PROPERTY_ENTRYA      pPropertyAccessList;} ACTRL_ACCESSA, *PACTRL_ACCESSA, ACTRL_AUDITA, *PACTRL_AUDITA;typedef struct _ACTRL_ALISTW {	ULONG                       cEntries;	PACTRL_PROPERTY_ENTRYW      pPropertyAccessList;} ACTRL_ACCESSW, *PACTRL_ACCESSW, ACTRL_AUDITW, *PACTRL_AUDITW;typedef struct _TRUSTEE_ACCESSA { 	LPSTR           lpProperty;	ACCESS_RIGHTS   Access;	ULONG           fAccessFlags;	ULONG           fReturnedAccess;} TRUSTEE_ACCESSA, *PTRUSTEE_ACCESSA;typedef struct _TRUSTEE_ACCESSW {	LPWSTR          lpProperty;	ACCESS_RIGHTS   Access;	ULONG           fAccessFlags;	ULONG           fReturnedAccess;} TRUSTEE_ACCESSW, *PTRUSTEE_ACCESSW;typedef struct _ACTRL_OVERLAPPED {	_ANONYMOUS_UNION	union {	    PVOID Provider;	    ULONG Reserved1;	} DUMMYUNIONNAME;	ULONG       Reserved2;	HANDLE      hEvent;} ACTRL_OVERLAPPED, *PACTRL_OVERLAPPED;typedef struct _ACTRL_ACCESS_INFOA {	ULONG       fAccessPermission;	LPSTR       lpAccessPermissionName;} ACTRL_ACCESS_INFOA, *PACTRL_ACCESS_INFOA;typedef struct _ACTRL_ACCESS_INFOW {	ULONG       fAccessPermission;	LPWSTR      lpAccessPermissionName;} ACTRL_ACCESS_INFOW, *PACTRL_ACCESS_INFOW;typedef struct _ACTRL_CONTROL_INFOA {	LPSTR       lpControlId;	LPSTR       lpControlName;} ACTRL_CONTROL_INFOA, *PACTRL_CONTROL_INFOA;typedef struct _ACTRL_CONTROL_INFOW {	LPWSTR      lpControlId;	LPWSTR      lpControlName;} ACTRL_CONTROL_INFOW, *PACTRL_CONTROL_INFOW;typedef struct _EXPLICIT_ACCESS_A {	DWORD        grfAccessPermissions;	ACCESS_MODE  grfAccessMode;	DWORD        grfInheritance;	TRUSTEE_A    Trustee;} EXPLICIT_ACCESS_A, *PEXPLICIT_ACCESS_A, EXPLICIT_ACCESSA, *PEXPLICIT_ACCESSA;typedef struct _EXPLICIT_ACCESS_W {	DWORD        grfAccessPermissions;	ACCESS_MODE  grfAccessMode;	DWORD        grfInheritance;	TRUSTEE_W    Trustee;} EXPLICIT_ACCESS_W, *PEXPLICIT_ACCESS_W, EXPLICIT_ACCESSW, *PEXPLICIT_ACCESSW;typedef struct _OBJECTS_AND_SID {	DWORD   ObjectsPresent;	GUID    ObjectTypeGuid;	GUID    InheritedObjectTypeGuid;	SID     * pSid;} OBJECTS_AND_SID, *POBJECTS_AND_SID;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;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;#if (_WIN32_WINNT >= 0x0501)typedef struct {	LONG     GenerationGap;	LPSTR    AncestorName;} INHERITED_FROMA, *PINHERITED_FROMA;typedef struct {	LONG     GenerationGap;	LPWSTR   AncestorName;} INHERITED_FROMW, *PINHERITED_FROMW;#endif /* (_WIN32_WINNT >= 0x0501) */#ifdef UNICODE#define ACCCTRL_DEFAULT_PROVIDER ACCCTRL_DEFAULT_PROVIDERWtypedef TRUSTEE_W TRUSTEE_, *PTRUSTEE_;typedef TRUSTEEW TRUSTEE, *PTRUSTEE;typedef ACTRL_ACCESSW ACTRL_ACCESS, *PACTRL_ACCESS;typedef ACTRL_ACCESS_ENTRY_LISTW ACTRL_ACCESS_ENTRY_LIST, *PACTRL_ACCESS_ENTRY_LIST;typedef ACTRL_ACCESS_INFOW ACTRL_ACCESS_INFO, *PACTRL_ACCESS_INFO;typedef ACTRL_ACCESS_ENTRYW ACTRL_ACCESS_ENTRY, *PACTRL_ACCESS_ENTRY;typedef ACTRL_AUDITW ACTRL_AUDIT, *PACTRL_AUDIT;typedef ACTRL_CONTROL_INFOW ACTRL_CONTROL_INFO, *PACTRL_CONTROL_INFO;typedef EXPLICIT_ACCESS_W EXPLICIT_ACCESS_, *PEXPLICIT_ACCESS_;typedef EXPLICIT_ACCESSW EXPLICIT_ACCESS, *PEXPLICIT_ACCESS;typedef TRUSTEE_ACCESSW TRUSTEE_ACCESS, *PTRUSTEE_ACCESS;typedef OBJECTS_AND_NAME_W OBJECTS_AND_NAME_, *POBJECTS_AND_NAME_;#if (_WIN32_WINNT >= 0x0501)typedef INHERITED_FROMW INHERITED_FROM, *PINHERITED_FROM;#endif#else#define ACCCTRL_DEFAULT_PROVIDER ACCCTRL_DEFAULT_PROVIDERAtypedef TRUSTEE_A TRUSTEE_, *PTRUSTEE_;typedef TRUSTEEA TRUSTEE, *PTRUSTEE;typedef ACTRL_ACCESSA ACTRL_ACCESS, *PACTRL_ACCESS;typedef ACTRL_ACCESS_ENTRY_LISTA ACTRL_ACCESS_ENTRY_LIST, *PACTRL_ACCESS_ENTRY_LIST;typedef ACTRL_ACCESS_INFOA ACTRL_ACCESS_INFO, *PACTRL_ACCESS_INFO;typedef ACTRL_ACCESS_ENTRYA ACTRL_ACCESS_ENTRY, *PACTRL_ACCESS_ENTRY;typedef ACTRL_AUDITA ACTRL_AUDIT, *PACTRL_AUDIT;typedef ACTRL_CONTROL_INFOA ACTRL_CONTROL_INFO, *PACTRL_CONTROL_INFO;typedef EXPLICIT_ACCESS_A EXPLICIT_ACCESS_, *PEXPLICIT_ACCESS_;typedef EXPLICIT_ACCESSA EXPLICIT_ACCESS, *PEXPLICIT_ACCESS;typedef TRUSTEE_ACCESSA TRUSTEE_ACCESS, *PTRUSTEE_ACCESS;typedef OBJECTS_AND_NAME_A OBJECTS_AND_NAME_, *POBJECTS_AND_NAME_;#if (_WIN32_WINNT >= 0x0501)typedef INHERITED_FROMA INHERITED_FROM, *PINHERITED_FROM;#endif#endif /* UNICODE */#ifdef __cplusplus}#endif#endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -