typedef VOID
(NTAPI *PNTFS_DEREF_EXPORTED_SECURITY_DESCRIPTOR)(
- IN PVOID Vcb,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor);
+ _In_ PVOID Vcb,
+ _In_ PSECURITY_DESCRIPTOR SecurityDescriptor);
#ifndef _NTLSA_IFS_
UCHAR Revision;
UCHAR SubAuthorityCount;
SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
+#ifdef MIDL_PASS
+ [size_is(SubAuthorityCount)] ULONG SubAuthority[*];
+#else
ULONG SubAuthority[ANYSIZE_ARRAY];
+#endif
} SID, *PISID;
#endif
#define SID_MAX_SUB_AUTHORITIES 15
#define SID_RECOMMENDED_SUB_AUTHORITIES 1
+#ifndef MIDL_PASS
+#define SECURITY_MAX_SID_SIZE (sizeof(SID) - sizeof(ULONG) + (SID_MAX_SUB_AUTHORITIES * sizeof(ULONG)))
+#endif
+
typedef enum _SID_NAME_USE {
SidTypeUser = 1,
SidTypeGroup,
} SID_NAME_USE, *PSID_NAME_USE;
typedef struct _SID_AND_ATTRIBUTES {
+#ifdef MIDL_PASS
+ PISID Sid;
+#else
PSID Sid;
+#endif
ULONG Attributes;
} SID_AND_ATTRIBUTES, *PSID_AND_ATTRIBUTES;
typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
typedef struct _TOKEN_GROUPS {
ULONG GroupCount;
+#ifdef MIDL_PASS
+ [size_is(GroupCount)] SID_AND_ATTRIBUTES Groups[*];
+#else
SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY];
+#endif
} TOKEN_GROUPS,*PTOKEN_GROUPS,*LPTOKEN_GROUPS;
typedef struct _TOKEN_PRIVILEGES {