Changeset 21360 for trunk/include/win/ntsecapi.h
- Timestamp:
- Feb 25, 2010, 6:26:18 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/win/ntsecapi.h
r7986 r21360 8 8 #endif /* defined(__cplusplus) */ 9 9 10 #ifndef GUID_DEFINED 11 #define GUID_DEFINED 12 typedef struct _GUID 13 { 14 unsigned long Data1; 15 unsigned short Data2; 16 unsigned short Data3; 17 unsigned char Data4[ 8 ]; 18 } GUID; 19 #endif 20 21 /* Policy access rights */ 22 #define POLICY_VIEW_LOCAL_INFORMATION 0x00000001L 23 #define POLICY_VIEW_AUDIT_INFORMATION 0x00000002L 24 #define POLICY_GET_PRIVATE_INFORMATION 0x00000004L 25 #define POLICY_TRUST_ADMIN 0x00000008L 26 #define POLICY_CREATE_ACCOUNT 0x00000010L 27 #define POLICY_CREATE_SECRET 0x00000020L 28 #define POLICY_CREATE_PRIVILEGE 0x00000040L 29 #define POLICY_SET_DEFAULT_QUOTA_LIMITS 0x00000080L 30 #define POLICY_SET_AUDIT_REQUIREMENTS 0x00000100L 31 #define POLICY_AUDIT_LOG_ADMIN 0x00000200L 32 #define POLICY_SERVER_ADMIN 0x00000400L 33 #define POLICY_LOOKUP_NAMES 0x00000800L 34 #define POLICY_NOTIFICATION 0x00001000L 35 36 #define POLICY_ALL_ACCESS ( \ 37 STANDARD_RIGHTS_REQUIRED | \ 38 POLICY_VIEW_LOCAL_INFORMATION | \ 39 POLICY_VIEW_AUDIT_INFORMATION | \ 40 POLICY_GET_PRIVATE_INFORMATION | \ 41 POLICY_TRUST_ADMIN | \ 42 POLICY_CREATE_ACCOUNT | \ 43 POLICY_CREATE_SECRET | \ 44 POLICY_CREATE_PRIVILEGE | \ 45 POLICY_SET_DEFAULT_QUOTA_LIMITS | \ 46 POLICY_SET_AUDIT_REQUIREMENTS | \ 47 POLICY_AUDIT_LOG_ADMIN | \ 48 POLICY_SERVER_ADMIN | \ 49 POLICY_LOOKUP_NAMES) 50 51 52 #define POLICY_READ ( \ 53 STANDARD_RIGHTS_READ | \ 54 POLICY_VIEW_AUDIT_INFORMATION | \ 55 POLICY_GET_PRIVATE_INFORMATION) 56 57 #define POLICY_WRITE ( \ 58 STANDARD_RIGHTS_WRITE | \ 59 POLICY_TRUST_ADMIN | \ 60 POLICY_CREATE_ACCOUNT | \ 61 POLICY_CREATE_SECRET | \ 62 POLICY_CREATE_PRIVILEGE | \ 63 POLICY_SET_DEFAULT_QUOTA_LIMITS | \ 64 POLICY_SET_AUDIT_REQUIREMENTS | \ 65 POLICY_AUDIT_LOG_ADMIN | \ 66 POLICY_SERVER_ADMIN) 67 68 #define POLICY_EXECUTE ( \ 69 STANDARD_RIGHTS_EXECUTE | \ 70 POLICY_VIEW_LOCAL_INFORMATION | \ 71 POLICY_LOOKUP_NAMES) 72 73 #define POLICY_AUDIT_EVENT_UNCHANGED 0x00000000L 74 #define POLICY_AUDIT_EVENT_SUCCESS 0x00000001L 75 #define POLICY_AUDIT_EVENT_FAILURE 0x00000002L 76 #define POLICY_AUDIT_EVENT_NONE 0x00000004L 77 78 #define POLICY_AUDIT_EVENT_MASK (POLICY_AUDIT_EVENT_SUCCESS | \ 79 POLICY_AUDIT_EVENT_FAILURE | \ 80 POLICY_AUDIT_EVENT_NONE) 81 10 82 typedef UNICODE_STRING LSA_UNICODE_STRING, *PLSA_UNICODE_STRING; 11 83 typedef STRING LSA_STRING, *PLSA_STRING; 12 84 typedef OBJECT_ATTRIBUTES LSA_OBJECT_ATTRIBUTES, *PLSA_OBJECT_ATTRIBUTES; 85 typedef ULONG LSA_OPERATIONAL_MODE, *PLSA_OPERATIONAL_MODE; 13 86 14 87 typedef PVOID LSA_HANDLE, *PLSA_HANDLE; … … 32 105 } POLICY_INFORMATION_CLASS, *PPOLICY_INFORMATION_CLASS; 33 106 107 typedef enum _SECURITY_LOGON_TYPE 108 { 109 Interactive = 2, 110 Network, 111 Batch, 112 Service, 113 Proxy 114 } SECURITY_LOGON_TYPE, *PSECURITY_LOGON_TYPE; 115 116 typedef enum _POLICY_AUDIT_EVENT_TYPE 117 { 118 AuditCategorySystem, 119 AuditCategoryLogon, 120 AuditCategoryObjectAccess, 121 AuditCategoryPrivilegeUse, 122 AuditCategoryDetailedTracking, 123 AuditCategoryPolicyChange, 124 AuditCategoryAccountManagement 125 } POLICY_AUDIT_EVENT_TYPE, *PPOLICY_AUDIT_EVENT_TYPE; 126 34 127 typedef ULONG POLICY_AUDIT_EVENT_OPTIONS, *PPOLICY_AUDIT_EVENT_OPTIONS; 35 128 … … 47 140 } POLICY_PRIMARY_DOMAIN_INFO, *PPOLICY_PRIMARY_DOMAIN_INFO; 48 141 142 typedef struct _POLICY_ACCOUNT_DOMAIN_INFO 143 { 144 LSA_UNICODE_STRING DomainName; 145 PSID DomainSid; 146 } POLICY_ACCOUNT_DOMAIN_INFO, *PPOLICY_ACCOUNT_DOMAIN_INFO; 147 148 typedef struct _POLICY_DNS_DOMAIN_INFO 149 { 150 LSA_UNICODE_STRING Name; 151 LSA_UNICODE_STRING DnsDomainName; 152 LSA_UNICODE_STRING DnsForestName; 153 GUID DomainGuid; 154 PSID Sid; 155 } POLICY_DNS_DOMAIN_INFO, *PPOLICY_DNS_DOMAIN_INFO; 156 157 typedef enum _POLICY_LSA_SERVER_ROLE 158 { 159 PolicyServerRoleBackup = 2, 160 PolicyServerRolePrimary 161 } POLICY_LSA_SERVER_ROLE, *PPOLICY_LSA_SERVER_ROLE; 162 163 typedef struct _POLICY_LSA_SERVER_ROLE_INFO 164 { 165 POLICY_LSA_SERVER_ROLE LsaServerRole; 166 } POLICY_LSA_SERVER_ROLE_INFO, *PPOLICY_LSA_SERVER_ROLE_INFO; 167 168 typedef struct _POLICY_MODIFICATION_INFO 169 { 170 LARGE_INTEGER ModifiedId; 171 LARGE_INTEGER DatabaseCreationTime; 172 } POLICY_MODIFICATION_INFO, *PPOLICY_MODIFICATION_INFO; 173 174 typedef struct _SECURITY_LOGON_SESSION_DATA { 175 ULONG Size; 176 LUID LogonId; 177 LSA_UNICODE_STRING UserName; 178 LSA_UNICODE_STRING LogonDomain; 179 LSA_UNICODE_STRING AuthenticationPackage; 180 ULONG LogonType; 181 ULONG Session; 182 PSID Sid; 183 LARGE_INTEGER LogonTime; 184 LSA_UNICODE_STRING LogonServer; 185 LSA_UNICODE_STRING DnsDomainName; 186 LSA_UNICODE_STRING Upn; 187 } SECURITY_LOGON_SESSION_DATA, *PSECURITY_LOGON_SESSION_DATA; 188 189 typedef struct 190 { 191 SID_NAME_USE Use; 192 LSA_UNICODE_STRING Name; 193 LONG DomainIndex; 194 } LSA_TRANSLATED_NAME, *PLSA_TRANSLATED_NAME; 195 196 typedef struct 197 { 198 LSA_UNICODE_STRING Name; 199 PSID Sid; 200 } LSA_TRUST_INFORMATION, *PLSA_TRUST_INFORMATION; 201 202 typedef struct 203 { 204 ULONG Entries; 205 PLSA_TRUST_INFORMATION Domains; 206 } LSA_REFERENCED_DOMAIN_LIST, *PLSA_REFERENCED_DOMAIN_LIST; 207 208 typedef struct _LSA_TRANSLATED_SID 209 { 210 SID_NAME_USE Use; 211 ULONG RelativeId; 212 LONG DomainIndex; 213 } LSA_TRANSLATED_SID, *PLSA_TRANSLATED_SID; 214 215 typedef struct _TRUSTED_DOMAIN_INFORMATION_EX 216 { 217 LSA_UNICODE_STRING Name; 218 LSA_UNICODE_STRING FlatName; 219 PSID Sid; 220 ULONG TrustDirection; 221 ULONG TrustType; 222 ULONG TrustAttributes; 223 } TRUSTED_DOMAIN_INFORMATION_EX, *PTRUSTED_DOMAIN_INFORMATION_EX; 224 225 typedef struct _LSA_AUTH_INFORMATION 226 { 227 LARGE_INTEGER LastUpdateTime; 228 ULONG AuthType; 229 ULONG AuthInfoLength; 230 PUCHAR AuthInfo; 231 } LSA_AUTH_INFORMATION, *PLSA_AUTH_INFORMATION; 232 233 typedef struct _TRUSTED_DOMAIN_AUTH_INFORMATION 234 { 235 ULONG IncomingAuthInfos; 236 PLSA_AUTH_INFORMATION IncomingAuthenticationInformation; 237 PLSA_AUTH_INFORMATION IncomingPreviousAuthenticationInformation; 238 ULONG OutgoingAuthInfos; 239 PLSA_AUTH_INFORMATION OutgoingAuthenticationInformation; 240 PLSA_AUTH_INFORMATION OutgoingPreviousAuthenticationInformation; 241 } TRUSTED_DOMAIN_AUTH_INFORMATION, *PTRUSTED_DOMAIN_AUTH_INFORMATION; 242 243 typedef struct _LSA_TRANSLATED_SID2 244 { 245 SID_NAME_USE Use; 246 PSID Sid; 247 LONG DomainIndex; 248 ULONG Flags; 249 } LSA_TRANSLATED_SID2, *PLSA_TRANSLATED_SID2; 250 251 typedef enum _TRUSTED_INFORMATION_CLASS 252 { 253 TrustedDomainNameInformation = 1, 254 TrustedControllersInformation, 255 TrustedPosixOffsetInformation, 256 TrustedPasswordInformation, 257 TrustedDomainInformationBasic, 258 TrustedDomainInformationEx, 259 TrustedDomainAuthInformation, 260 TrustedDomainFullInformation 261 } TRUSTED_INFORMATION_CLASS, *PTRUSTED_INFORMATION_CLASS; 262 263 typedef enum _POLICY_NOTIFICATION_INFORMATION_CLASS 264 { 265 PolicyNotifyAuditEventsInformation = 1, 266 PolicyNotifyAccountDomainInformation, 267 PolicyNotifyServerRoleInformation, 268 PolicyNotifyDnsDomainInformation, 269 PolicyNotifyDomainEfsInformation, 270 PolicyNotifyDomainKerberosTicketInformation, 271 PolicyNotifyMachineAccountPasswordInformation 272 } POLICY_NOTIFICATION_INFORMATION_CLASS, *PPOLICY_NOTIFICATION_INFORMATION_CLASS; 49 273 50 274 NTSTATUS WINAPI LsaQueryInformationPolicy(LSA_HANDLE,POLICY_INFORMATION_CLASS,PVOID*);
Note:
See TracChangeset
for help on using the changeset viewer.