Added policy access constants, type definition.
diff --git a/include/ntsecapi.h b/include/ntsecapi.h
index b7f08bd..b5e2b5c 100644
--- a/include/ntsecapi.h
+++ b/include/ntsecapi.h
@@ -25,6 +25,58 @@
extern "C" {
#endif /* defined(__cplusplus) */
+/* Policy access rights */
+#define POLICY_VIEW_LOCAL_INFORMATION 0x00000001L
+#define POLICY_VIEW_AUDIT_INFORMATION 0x00000002L
+#define POLICY_GET_PRIVATE_INFORMATION 0x00000004L
+#define POLICY_TRUST_ADMIN 0x00000008L
+#define POLICY_CREATE_ACCOUNT 0x00000010L
+#define POLICY_CREATE_SECRET 0x00000020L
+#define POLICY_CREATE_PRIVILEGE 0x00000040L
+#define POLICY_SET_DEFAULT_QUOTA_LIMITS 0x00000080L
+#define POLICY_SET_AUDIT_REQUIREMENTS 0x00000100L
+#define POLICY_AUDIT_LOG_ADMIN 0x00000200L
+#define POLICY_SERVER_ADMIN 0x00000400L
+#define POLICY_LOOKUP_NAMES 0x00000800L
+#define POLICY_NOTIFICATION 0x00001000L
+
+#define POLICY_ALL_ACCESS ( \
+ STANDARD_RIGHTS_REQUIRED | \
+ POLICY_VIEW_LOCAL_INFORMATION | \
+ POLICY_VIEW_AUDIT_INFORMATION | \
+ POLICY_GET_PRIVATE_INFORMATION | \
+ POLICY_TRUST_ADMIN | \
+ POLICY_CREATE_ACCOUNT | \
+ POLICY_CREATE_SECRET | \
+ POLICY_CREATE_PRIVILEGE | \
+ POLICY_SET_DEFAULT_QUOTA_LIMITS | \
+ POLICY_SET_AUDIT_REQUIREMENTS | \
+ POLICY_AUDIT_LOG_ADMIN | \
+ POLICY_SERVER_ADMIN | \
+ POLICY_LOOKUP_NAMES)
+
+
+#define POLICY_READ ( \
+ STANDARD_RIGHTS_READ | \
+ POLICY_VIEW_AUDIT_INFORMATION | \
+ POLICY_GET_PRIVATE_INFORMATION)
+
+#define POLICY_WRITE ( \
+ STANDARD_RIGHTS_WRITE | \
+ POLICY_TRUST_ADMIN | \
+ POLICY_CREATE_ACCOUNT | \
+ POLICY_CREATE_SECRET | \
+ POLICY_CREATE_PRIVILEGE | \
+ POLICY_SET_DEFAULT_QUOTA_LIMITS | \
+ POLICY_SET_AUDIT_REQUIREMENTS | \
+ POLICY_AUDIT_LOG_ADMIN | \
+ POLICY_SERVER_ADMIN)
+
+#define POLICY_EXECUTE ( \
+ STANDARD_RIGHTS_EXECUTE | \
+ POLICY_VIEW_LOCAL_INFORMATION | \
+ POLICY_LOOKUP_NAMES)
+
typedef UNICODE_STRING LSA_UNICODE_STRING, *PLSA_UNICODE_STRING;
typedef STRING LSA_STRING, *PLSA_STRING;
typedef OBJECT_ATTRIBUTES LSA_OBJECT_ATTRIBUTES, *PLSA_OBJECT_ATTRIBUTES;
@@ -51,19 +103,25 @@
typedef ULONG POLICY_AUDIT_EVENT_OPTIONS, *PPOLICY_AUDIT_EVENT_OPTIONS;
-typedef struct
+typedef struct _POLICY_AUDIT_EVENTS_INFO
{
BOOLEAN AuditingMode;
PPOLICY_AUDIT_EVENT_OPTIONS EventAuditingOptions;
ULONG MaximumAuditEventCount;
} POLICY_AUDIT_EVENTS_INFO, *PPOLICY_AUDIT_EVENTS_INFO;
-typedef struct
+typedef struct _POLICY_PRIMARY_DOMAIN_INFO
{
LSA_UNICODE_STRING Name;
PSID Sid;
} POLICY_PRIMARY_DOMAIN_INFO, *PPOLICY_PRIMARY_DOMAIN_INFO;
+typedef struct _POLICY_ACCOUNT_DOMAIN_INFO
+{
+ LSA_UNICODE_STRING DomainName;
+ PSID DomainSid;
+} POLICY_ACCOUNT_DOMAIN_INFO, *PPOLICY_ACCOUNT_DOMAIN_INFO;
+
NTSTATUS WINAPI LsaQueryInformationPolicy(LSA_HANDLE,POLICY_INFORMATION_CLASS,PVOID*);