Home | History | Annotate | Download | only in include
      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