1 /** 2 * This file is part of the mingw-w64 runtime package. 3 * No warranty is given; refer to the file DISCLAIMER within this package. 4 */ 5 6 #include <winapifamily.h> 7 8 #ifndef __AUTHZ_H__ 9 #define __AUTHZ_H__ 10 11 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) 12 13 #ifdef __cplusplus 14 extern "C" { 15 #endif 16 17 #ifndef _AUTHZ_ 18 #define AUTHZAPI DECLSPEC_IMPORT 19 #else 20 #define AUTHZAPI 21 #endif 22 23 #ifndef __WIDL__ 24 #include <windows.h> 25 #endif 26 27 #include <adtgen.h> 28 29 #define AUTHZ_SKIP_TOKEN_GROUPS 0x2 30 #define AUTHZ_REQUIRE_S4U_LOGON 0x4 31 #define AUTHZ_COMPUTE_PRIVILEGES 0x8 32 33 DECLARE_HANDLE(AUTHZ_ACCESS_CHECK_RESULTS_HANDLE); 34 DECLARE_HANDLE(AUTHZ_CLIENT_CONTEXT_HANDLE); 35 DECLARE_HANDLE(AUTHZ_RESOURCE_MANAGER_HANDLE); 36 DECLARE_HANDLE(AUTHZ_AUDIT_EVENT_HANDLE); 37 DECLARE_HANDLE(AUTHZ_AUDIT_EVENT_TYPE_HANDLE); 38 DECLARE_HANDLE(AUTHZ_SECURITY_EVENT_PROVIDER_HANDLE); 39 #if _WIN32_WINNT >= 0x0602 40 DECLARE_HANDLE(AUTHZ_CAP_CHANGE_SUBSCRIPTION_HANDLE); 41 #endif 42 43 typedef AUTHZ_ACCESS_CHECK_RESULTS_HANDLE *PAUTHZ_ACCESS_CHECK_RESULTS_HANDLE; 44 typedef AUTHZ_CLIENT_CONTEXT_HANDLE *PAUTHZ_CLIENT_CONTEXT_HANDLE; 45 typedef AUTHZ_RESOURCE_MANAGER_HANDLE *PAUTHZ_RESOURCE_MANAGER_HANDLE; 46 typedef AUTHZ_AUDIT_EVENT_HANDLE *PAUTHZ_AUDIT_EVENT_HANDLE; 47 typedef AUTHZ_AUDIT_EVENT_TYPE_HANDLE *PAUTHZ_AUDIT_EVENT_TYPE_HANDLE; 48 typedef AUTHZ_SECURITY_EVENT_PROVIDER_HANDLE *PAUTHZ_SECURITY_EVENT_PROVIDER_HANDLE; 49 #if _WIN32_WINNT >= 0x0602 50 typedef AUTHZ_CAP_CHANGE_SUBSCRIPTION_HANDLE *PAUTHZ_CAP_CHANGE_SUBSCRIPTION_HANDLE; 51 #endif 52 53 typedef struct _AUTHZ_ACCESS_REQUEST { 54 ACCESS_MASK DesiredAccess; 55 PSID PrincipalSelfSid; 56 POBJECT_TYPE_LIST ObjectTypeList; 57 DWORD ObjectTypeListLength; 58 PVOID OptionalArguments; 59 } AUTHZ_ACCESS_REQUEST,*PAUTHZ_ACCESS_REQUEST; 60 61 #define AUTHZ_GENERATE_SUCCESS_AUDIT 0x1 62 #define AUTHZ_GENERATE_FAILURE_AUDIT 0x2 63 64 typedef struct _AUTHZ_ACCESS_REPLY { 65 DWORD ResultListLength; 66 PACCESS_MASK GrantedAccessMask; 67 PDWORD SaclEvaluationResults; 68 PDWORD Error; 69 } AUTHZ_ACCESS_REPLY,*PAUTHZ_ACCESS_REPLY; 70 71 typedef WINBOOL (CALLBACK *PFN_AUTHZ_DYNAMIC_ACCESS_CHECK) (AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext, PACE_HEADER pAce, PVOID pArgs, PBOOL pbAceApplicable); 72 typedef WINBOOL (CALLBACK *PFN_AUTHZ_COMPUTE_DYNAMIC_GROUPS) (AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext, PVOID Args, PSID_AND_ATTRIBUTES *pSidAttrArray, PDWORD pSidCount, PSID_AND_ATTRIBUTES *pRestrictedSidAttrArray, PDWORD pRestrictedSidCount); 73 typedef VOID (CALLBACK *PFN_AUTHZ_FREE_DYNAMIC_GROUPS) (PSID_AND_ATTRIBUTES pSidAttrArray); 74 #if _WIN32_WINNT >= 0x0602 75 typedef WINBOOL (CALLBACK *PFN_AUTHZ_GET_CENTRAL_ACCESS_POLICY) (AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext, PSID capid, PVOID pArgs, PBOOL pCentralAccessPolicyApplicable, PVOID *ppCentralAccessPolicy); 76 typedef VOID (CALLBACK *PFN_AUTHZ_FREE_CENTRAL_ACCESS_POLICY) (PVOID pCentralAccessPolicy); 77 #endif 78 79 #define AUTHZ_SECURITY_ATTRIBUTE_TYPE_INVALID 0x00 80 #define AUTHZ_SECURITY_ATTRIBUTE_TYPE_INT64 0x01 81 #define AUTHZ_SECURITY_ATTRIBUTE_TYPE_UINT64 0x02 82 #define AUTHZ_SECURITY_ATTRIBUTE_TYPE_STRING 0x03 83 #define AUTHZ_SECURITY_ATTRIBUTE_TYPE_FQBN 0x04 84 #if _WIN32_WINNT >= 0x0602 85 #define AUTHZ_SECURITY_ATTRIBUTE_TYPE_SID 0x05 86 #define AUTHZ_SECURITY_ATTRIBUTE_TYPE_BOOLEAN 0x06 87 #endif 88 #define AUTHZ_SECURITY_ATTRIBUTE_TYPE_OCTET_STRING 0x10 89 90 typedef struct _AUTHZ_SECURITY_ATTRIBUTE_FQBN_VALUE { 91 ULONG64 Version; 92 PWSTR pName; 93 } AUTHZ_SECURITY_ATTRIBUTE_FQBN_VALUE,*PAUTHZ_SECURITY_ATTRIBUTE_FQBN_VALUE; 94 95 typedef struct _AUTHZ_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE { 96 PVOID pValue; 97 ULONG ValueLength; 98 } AUTHZ_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE,*PAUTHZ_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE; 99 100 typedef enum { 101 AUTHZ_SECURITY_ATTRIBUTE_OPERATION_NONE = 0, 102 AUTHZ_SECURITY_ATTRIBUTE_OPERATION_REPLACE_ALL, 103 AUTHZ_SECURITY_ATTRIBUTE_OPERATION_ADD, 104 AUTHZ_SECURITY_ATTRIBUTE_OPERATION_DELETE, 105 AUTHZ_SECURITY_ATTRIBUTE_OPERATION_REPLACE 106 } AUTHZ_SECURITY_ATTRIBUTE_OPERATION,*PAUTHZ_SECURITY_ATTRIBUTE_OPERATION; 107 108 #if _WIN32_WINNT >= 0x0602 109 typedef enum { 110 AUTHZ_SID_OPERATION_NONE = 0, 111 AUTHZ_SID_OPERATION_REPLACE_ALL, 112 AUTHZ_SID_OPERATION_ADD, 113 AUTHZ_SID_OPERATION_DELETE, 114 AUTHZ_SID_OPERATION_REPLACE 115 } AUTHZ_SID_OPERATION,*PAUTHZ_SID_OPERATION; 116 #endif 117 118 #define AUTHZ_SECURITY_ATTRIBUTE_NON_INHERITABLE 0x1 119 #define AUTHZ_SECURITY_ATTRIBUTE_VALUE_CASE_SENSITIVE 0x2 120 121 #define AUTHZ_SECURITY_ATTRIBUTE_VALID_FLAGS (AUTHZ_SECURITY_ATTRIBUTE_NON_INHERITABLE | AUTHZ_SECURITY_ATTRIBUTE_VALUE_CASE_SENSITIVE) 122 123 #define AUTHZ_SECURITY_ATTRIBUTES_INFORMATION_VERSION_V1 1 124 125 #define AUTHZ_SECURITY_ATTRIBUTES_INFORMATION_VERSION AUTHZ_SECURITY_ATTRIBUTES_INFORMATION_VERSION_V1 126 127 #define AUTHZ_ACCESS_CHECK_NO_DEEP_COPY_SD 0x1 128 129 #define AUTHZ_RM_FLAG_NO_AUDIT 0x1 130 #define AUTHZ_RM_FLAG_INITIALIZE_UNDER_IMPERSONATION 0x2 131 #define AUTHZ_RM_FLAG_NO_CENTRAL_ACCESS_POLICIES 0x4 132 133 #define AUTHZ_VALID_RM_INIT_FLAGS (AUTHZ_RM_FLAG_NO_AUDIT | AUTHZ_RM_FLAG_INITIALIZE_UNDER_IMPERSONATION | AUTHZ_RM_FLAG_NO_CENTRAL_ACCESS_POLICIES) 134 135 typedef struct _AUTHZ_SECURITY_ATTRIBUTE_V1 { 136 PWSTR pName; 137 USHORT ValueType; 138 USHORT Reserved; 139 ULONG Flags; 140 ULONG ValueCount; 141 union { 142 PLONG64 pInt64; 143 PULONG64 pUint64; 144 PWSTR *ppString; 145 PAUTHZ_SECURITY_ATTRIBUTE_FQBN_VALUE pFqbn; 146 PAUTHZ_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE pOctetString; 147 } Values; 148 } AUTHZ_SECURITY_ATTRIBUTE_V1,*PAUTHZ_SECURITY_ATTRIBUTE_V1; 149 150 typedef struct _AUTHZ_SECURITY_ATTRIBUTES_INFORMATION { 151 USHORT Version; 152 USHORT Reserved; 153 ULONG AttributeCount; 154 union { 155 PAUTHZ_SECURITY_ATTRIBUTE_V1 pAttributeV1; 156 } Attribute; 157 } AUTHZ_SECURITY_ATTRIBUTES_INFORMATION,*PAUTHZ_SECURITY_ATTRIBUTES_INFORMATION; 158 159 AUTHZAPI WINBOOL WINAPI AuthzAccessCheck (DWORD Flags, AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext, PAUTHZ_ACCESS_REQUEST pRequest, AUTHZ_AUDIT_EVENT_HANDLE hAuditEvent, PSECURITY_DESCRIPTOR pSecurityDescriptor, PSECURITY_DESCRIPTOR *OptionalSecurityDescriptorArray, DWORD OptionalSecurityDescriptorCount, PAUTHZ_ACCESS_REPLY pReply, PAUTHZ_ACCESS_CHECK_RESULTS_HANDLE phAccessCheckResults); 160 AUTHZAPI WINBOOL WINAPI AuthzCachedAccessCheck (DWORD Flags, AUTHZ_ACCESS_CHECK_RESULTS_HANDLE hAccessCheckResults, PAUTHZ_ACCESS_REQUEST pRequest, AUTHZ_AUDIT_EVENT_HANDLE hAuditEvent, PAUTHZ_ACCESS_REPLY pReply); 161 AUTHZAPI WINBOOL WINAPI AuthzOpenObjectAudit (DWORD Flags, AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext, PAUTHZ_ACCESS_REQUEST pRequest, AUTHZ_AUDIT_EVENT_HANDLE hAuditEvent, PSECURITY_DESCRIPTOR pSecurityDescriptor, PSECURITY_DESCRIPTOR *OptionalSecurityDescriptorArray, DWORD OptionalSecurityDescriptorCount, PAUTHZ_ACCESS_REPLY pReply); 162 AUTHZAPI WINBOOL WINAPI AuthzFreeHandle (AUTHZ_ACCESS_CHECK_RESULTS_HANDLE hAccessCheckResults); 163 AUTHZAPI WINBOOL WINAPI AuthzInitializeResourceManager (DWORD Flags, PFN_AUTHZ_DYNAMIC_ACCESS_CHECK pfnDynamicAccessCheck, PFN_AUTHZ_COMPUTE_DYNAMIC_GROUPS pfnComputeDynamicGroups, PFN_AUTHZ_FREE_DYNAMIC_GROUPS pfnFreeDynamicGroups, PCWSTR szResourceManagerName, PAUTHZ_RESOURCE_MANAGER_HANDLE phAuthzResourceManager); 164 165 #if _WIN32_WINNT >= 0x0602 166 167 #define AUTHZ_RPC_INIT_INFO_CLIENT_VERSION_V1 1 168 #define AUTHZ_INIT_INFO_VERSION_V1 1 169 170 typedef struct _AUTHZ_RPC_INIT_INFO_CLIENT { 171 USHORT version; 172 PWSTR ObjectUuid; 173 PWSTR ProtSeq; 174 PWSTR NetworkAddr; 175 PWSTR Endpoint; 176 PWSTR Options; 177 PWSTR ServerSpn; 178 } AUTHZ_RPC_INIT_INFO_CLIENT,*PAUTHZ_RPC_INIT_INFO_CLIENT; 179 180 typedef struct _AUTHZ_INIT_INFO { 181 USHORT version; 182 PCWSTR szResourceManagerName; 183 PFN_AUTHZ_DYNAMIC_ACCESS_CHECK pfnDynamicAccessCheck; 184 PFN_AUTHZ_COMPUTE_DYNAMIC_GROUPS pfnComputeDynamicGroups; 185 PFN_AUTHZ_FREE_DYNAMIC_GROUPS pfnFreeDynamicGroups; 186 PFN_AUTHZ_GET_CENTRAL_ACCESS_POLICY pfnGetCentralAccessPolicy; 187 PFN_AUTHZ_FREE_CENTRAL_ACCESS_POLICY pfnFreeCentralAccessPolicy; 188 } AUTHZ_INIT_INFO,*PAUTHZ_INIT_INFO; 189 190 AUTHZAPI WINBOOL WINAPI AuthzInitializeResourceManagerEx (DWORD Flags, PAUTHZ_INIT_INFO pAuthzInitInfo, PAUTHZ_RESOURCE_MANAGER_HANDLE phAuthzResourceManager); 191 AUTHZAPI WINBOOL WINAPI AuthzInitializeRemoteResourceManager (PAUTHZ_RPC_INIT_INFO_CLIENT pRpcInitInfo, PAUTHZ_RESOURCE_MANAGER_HANDLE phAuthzResourceManager); 192 #endif 193 194 AUTHZAPI WINBOOL WINAPI AuthzFreeResourceManager (AUTHZ_RESOURCE_MANAGER_HANDLE hAuthzResourceManager); 195 AUTHZAPI WINBOOL WINAPI AuthzInitializeContextFromToken (DWORD Flags, HANDLE TokenHandle, AUTHZ_RESOURCE_MANAGER_HANDLE hAuthzResourceManager, PLARGE_INTEGER pExpirationTime, LUID Identifier, PVOID DynamicGroupArgs, PAUTHZ_CLIENT_CONTEXT_HANDLE phAuthzClientContext); 196 AUTHZAPI WINBOOL WINAPI AuthzInitializeContextFromSid (DWORD Flags, PSID UserSid, AUTHZ_RESOURCE_MANAGER_HANDLE hAuthzResourceManager, PLARGE_INTEGER pExpirationTime, LUID Identifier, PVOID DynamicGroupArgs, PAUTHZ_CLIENT_CONTEXT_HANDLE phAuthzClientContext); 197 AUTHZAPI WINBOOL WINAPI AuthzInitializeContextFromAuthzContext (DWORD Flags, AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext, PLARGE_INTEGER pExpirationTime, LUID Identifier, PVOID DynamicGroupArgs, PAUTHZ_CLIENT_CONTEXT_HANDLE phNewAuthzClientContext); 198 #if _WIN32_WINNT >= 0x0602 199 AUTHZAPI WINBOOL WINAPI AuthzInitializeCompoundContext (AUTHZ_CLIENT_CONTEXT_HANDLE UserContext, AUTHZ_CLIENT_CONTEXT_HANDLE DeviceContext, PAUTHZ_CLIENT_CONTEXT_HANDLE phCompoundContext); 200 #endif 201 AUTHZAPI WINBOOL WINAPI AuthzAddSidsToContext (AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext, PSID_AND_ATTRIBUTES Sids, DWORD SidCount, PSID_AND_ATTRIBUTES RestrictedSids, DWORD RestrictedSidCount, PAUTHZ_CLIENT_CONTEXT_HANDLE phNewAuthzClientContext); 202 AUTHZAPI WINBOOL WINAPI AuthzModifySecurityAttributes (AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext, PAUTHZ_SECURITY_ATTRIBUTE_OPERATION pOperations, PAUTHZ_SECURITY_ATTRIBUTES_INFORMATION pAttributes); 203 204 typedef enum _AUTHZ_CONTEXT_INFORMATION_CLASS { 205 AuthzContextInfoUserSid = 1, 206 AuthzContextInfoGroupsSids, 207 AuthzContextInfoRestrictedSids, 208 AuthzContextInfoPrivileges, 209 AuthzContextInfoExpirationTime, 210 AuthzContextInfoServerContext, 211 AuthzContextInfoIdentifier, 212 AuthzContextInfoSource, 213 AuthzContextInfoAll, 214 AuthzContextInfoAuthenticationId, 215 AuthzContextInfoSecurityAttributes, 216 AuthzContextInfoDeviceSids, 217 AuthzContextInfoUserClaims, 218 AuthzContextInfoDeviceClaims, 219 AuthzContextInfoAppContainerSid, 220 AuthzContextInfoCapabilitySids 221 } AUTHZ_CONTEXT_INFORMATION_CLASS; 222 223 #if _WIN32_WINNT >= 0x0602 224 AUTHZAPI WINBOOL WINAPI AuthzModifyClaims (AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext, AUTHZ_CONTEXT_INFORMATION_CLASS ClaimClass, PAUTHZ_SECURITY_ATTRIBUTE_OPERATION pClaimOperations, PAUTHZ_SECURITY_ATTRIBUTES_INFORMATION pClaims); 225 AUTHZAPI WINBOOL WINAPI AuthzModifySids (AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext, AUTHZ_CONTEXT_INFORMATION_CLASS SidClass, PAUTHZ_SID_OPERATION pSidOperations, PTOKEN_GROUPS pSids); 226 AUTHZAPI WINBOOL WINAPI AuthzSetAppContainerInformation (AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext, PSID pAppContainerSid, DWORD CapabilityCount, PSID_AND_ATTRIBUTES pCapabilitySids); 227 #endif 228 AUTHZAPI WINBOOL WINAPI AuthzGetInformationFromContext (AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext, AUTHZ_CONTEXT_INFORMATION_CLASS InfoClass, DWORD BufferSize, PDWORD pSizeRequired, PVOID Buffer); 229 AUTHZAPI WINBOOL WINAPI AuthzFreeContext (AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext); 230 231 #define AUTHZ_NO_SUCCESS_AUDIT 0x1 232 #define AUTHZ_NO_FAILURE_AUDIT 0x2 233 #define AUTHZ_NO_ALLOC_STRINGS 0x4 234 #define AUTHZ_WPD_CATEGORY_FLAG 0x10 235 236 #define AUTHZ_VALID_OBJECT_ACCESS_AUDIT_FLAGS (AUTHZ_NO_SUCCESS_AUDIT | AUTHZ_NO_FAILURE_AUDIT | AUTHZ_NO_ALLOC_STRINGS | AUTHZ_WPD_CATEGORY_FLAG) 237 238 AUTHZAPI WINBOOL WINAPI AuthzInitializeObjectAccessAuditEvent (DWORD Flags, AUTHZ_AUDIT_EVENT_TYPE_HANDLE hAuditEventType, PWSTR szOperationType, PWSTR szObjectType, PWSTR szObjectName, PWSTR szAdditionalInfo, PAUTHZ_AUDIT_EVENT_HANDLE phAuditEvent, DWORD dwAdditionalParameterCount,...); 239 AUTHZAPI WINBOOL WINAPI AuthzInitializeObjectAccessAuditEvent2 (DWORD Flags, AUTHZ_AUDIT_EVENT_TYPE_HANDLE hAuditEventType, PWSTR szOperationType, PWSTR szObjectType, PWSTR szObjectName, PWSTR szAdditionalInfo, PWSTR szAdditionalInfo2, PAUTHZ_AUDIT_EVENT_HANDLE phAuditEvent, DWORD dwAdditionalParameterCount,...); 240 241 typedef enum _AUTHZ_AUDIT_EVENT_INFORMATION_CLASS { 242 AuthzAuditEventInfoFlags = 1, 243 AuthzAuditEventInfoOperationType, 244 AuthzAuditEventInfoObjectType, 245 AuthzAuditEventInfoObjectName, 246 AuthzAuditEventInfoAdditionalInfo, 247 } AUTHZ_AUDIT_EVENT_INFORMATION_CLASS; 248 249 AUTHZAPI WINBOOL WINAPI AuthzFreeAuditEvent (AUTHZ_AUDIT_EVENT_HANDLE hAuditEvent); 250 AUTHZAPI WINBOOL WINAPI AuthzEvaluateSacl (AUTHZ_CLIENT_CONTEXT_HANDLE AuthzClientContext, PAUTHZ_ACCESS_REQUEST pRequest, PACL Sacl, ACCESS_MASK GrantedAccess, WINBOOL AccessGranted, PBOOL pbGenerateAudit); 251 252 typedef struct _AUTHZ_REGISTRATION_OBJECT_TYPE_NAME_OFFSET { 253 PWSTR szObjectTypeName; 254 DWORD dwOffset; 255 } AUTHZ_REGISTRATION_OBJECT_TYPE_NAME_OFFSET,*PAUTHZ_REGISTRATION_OBJECT_TYPE_NAME_OFFSET; 256 257 typedef struct _AUTHZ_SOURCE_SCHEMA_REGISTRATION { 258 DWORD dwFlags; 259 PWSTR szEventSourceName; 260 PWSTR szEventMessageFile; 261 PWSTR szEventSourceXmlSchemaFile; 262 PWSTR szEventAccessStringsFile; 263 PWSTR szExecutableImagePath; 264 __C89_NAMELESS union { 265 PVOID pReserved; 266 GUID *pProviderGuid; 267 }; 268 DWORD dwObjectTypeNameCount; 269 AUTHZ_REGISTRATION_OBJECT_TYPE_NAME_OFFSET ObjectTypeNames[ANYSIZE_ARRAY]; 270 } AUTHZ_SOURCE_SCHEMA_REGISTRATION,*PAUTHZ_SOURCE_SCHEMA_REGISTRATION; 271 272 #define AUTHZ_FLAG_ALLOW_MULTIPLE_SOURCE_INSTANCES 0x1 273 274 AUTHZAPI WINBOOL WINAPI AuthzInstallSecurityEventSource (DWORD dwFlags, PAUTHZ_SOURCE_SCHEMA_REGISTRATION pRegistration); 275 AUTHZAPI WINBOOL WINAPI AuthzUninstallSecurityEventSource (DWORD dwFlags, PCWSTR szEventSourceName); 276 AUTHZAPI WINBOOL WINAPI AuthzEnumerateSecurityEventSources (DWORD dwFlags, PAUTHZ_SOURCE_SCHEMA_REGISTRATION Buffer, PDWORD pdwCount, PDWORD pdwLength); 277 AUTHZAPI WINBOOL WINAPI AuthzRegisterSecurityEventSource (DWORD dwFlags, PCWSTR szEventSourceName, PAUTHZ_SECURITY_EVENT_PROVIDER_HANDLE phEventProvider); 278 AUTHZAPI WINBOOL WINAPI AuthzUnregisterSecurityEventSource (DWORD dwFlags, PAUTHZ_SECURITY_EVENT_PROVIDER_HANDLE phEventProvider); 279 AUTHZAPI WINBOOL WINAPI AuthzReportSecurityEvent (DWORD dwFlags, AUTHZ_SECURITY_EVENT_PROVIDER_HANDLE hEventProvider, DWORD dwAuditId, PSID pUserSid, DWORD dwCount,...); 280 AUTHZAPI WINBOOL WINAPI AuthzReportSecurityEventFromParams (DWORD dwFlags, AUTHZ_SECURITY_EVENT_PROVIDER_HANDLE hEventProvider, DWORD dwAuditId, PSID pUserSid, PAUDIT_PARAMS pParams); 281 #if _WIN32_WINNT >= 0x0602 282 AUTHZAPI WINBOOL WINAPI AuthzRegisterCapChangeNotification (PAUTHZ_CAP_CHANGE_SUBSCRIPTION_HANDLE phCapChangeSubscription, LPTHREAD_START_ROUTINE pfnCapChangeCallback, PVOID pCallbackContext); 283 AUTHZAPI WINBOOL WINAPI AuthzUnregisterCapChangeNotification (AUTHZ_CAP_CHANGE_SUBSCRIPTION_HANDLE hCapChangeSubscription); 284 AUTHZAPI WINBOOL WINAPI AuthzFreeCentralAccessPolicyCache (); 285 #endif 286 287 #ifdef __cplusplus 288 } 289 #endif 290 291 #endif 292 293 #endif 294