master
  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
 14extern "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