21typedef struct _STRING {
24 [size_is(MaximumLength), length_is(Length)] LPSTR Buffer;
29typedef struct _LSAPR_ACL {
33 [size_is(AclSize - 4)] BYTE Dummy1[*];
34} LSAPR_ACL, *PLSAPR_ACL;
36cpp_quote("#ifndef _WINNT_")
37typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
40typedef struct _LSAPR_SECURITY_DESCRIPTOR {
43 SECURITY_DESCRIPTOR_CONTROL Control;
47 /* FIXME: should be PLSAPR_ACL Sacl; */
49 /* FIXME: should be PLSAPR_ACL Dacl; */
50} LSAPR_SECURITY_DESCRIPTOR, *PLSAPR_SECURITY_DESCRIPTOR;
54typedef enum _SECURITY_IMPERSONATION_LEVEL {
55 SecurityAnonymous = 0,
56 SecurityIdentification,
57 SecurityImpersonation,
59} SECURITY_IMPERSONATION_LEVEL, *PSECURITY_IMPERSONATION_LEVEL;
61typedef BYTE SECURITY_CONTEXT_TRACKING_MODE, *PSECURITY_CONTEXT_TRACKING_MODE;
63typedef struct _SECURITY_QUALITY_OF_SERVICE {
65 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
66 SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode;
67 BOOLEAN EffectiveOnly;
68} SECURITY_QUALITY_OF_SERVICE, *PSECURITY_QUALITY_OF_SERVICE;
72typedef struct _LSAPR_OBJECT_ATTRIBUTES {
77 PLSAPR_SECURITY_DESCRIPTOR SecurityDescriptor;
78 PSECURITY_QUALITY_OF_SERVICE SecurityQualityOfService;
79} LSAPR_OBJECT_ATTRIBUTES, *PLSAPR_OBJECT_ATTRIBUTES;
81typedef struct _LSAPR_POLICY_PRIVILEGE_DEF {
82 RPC_UNICODE_STRING Name;
84} LSAPR_POLICY_PRIVILEGE_DEF, *PLSAPR_POLICY_PRIVILEGE_DEF;
86typedef struct _LSAPR_PRIVILEGE_ENUM_BUFFER {
88 [size_is(Entries)] PLSAPR_POLICY_PRIVILEGE_DEF Privileges;
89} LSAPR_PRIVILEGE_ENUM_BUFFER, *PLSAPR_PRIVILEGE_ENUM_BUFFER;
91typedef struct _LSAPR_ACCOUNT_INFORMATION {
93} LSAPR_ACCOUNT_INFORMATION, *PLSAPR_ACCOUNT_INFORMATION;
95typedef struct _LSAPR_ACCOUNT_ENUM_BUFFER {
97 [size_is(EntriesRead)] PLSAPR_ACCOUNT_INFORMATION Information;
98} LSAPR_ACCOUNT_ENUM_BUFFER, *PLSAPR_ACCOUNT_ENUM_BUFFER;
100cpp_quote("#ifndef _NTSECAPI_H")
101typedef RPC_UNICODE_STRING LSA_UNICODE_STRING, *PLSA_UNICODE_STRING;
104typedef struct _LSAPR_TRUST_INFORMATION {
105 RPC_UNICODE_STRING Name;
107} LSAPR_TRUST_INFORMATION, *PLSAPR_TRUST_INFORMATION;
109typedef struct _LSAPR_REFERENCED_DOMAIN_LIST {
111 [size_is(Entries)] PLSAPR_TRUST_INFORMATION Domains;
113} LSAPR_REFERENCED_DOMAIN_LIST, *PLSAPR_REFERENCED_DOMAIN_LIST;
117typedef enum _SID_NAME_USE {
122 SidTypeWellKnownGroup,
123 SidTypeDeletedAccount,
128} SID_NAME_USE, *PSID_NAME_USE;
132cpp_quote("#ifndef _NTDEF_")
134typedef struct _LSA_TRANSLATED_SID {
138} LSA_TRANSLATED_SID, *PLSA_TRANSLATED_SID;
142typedef struct _LSAPR_TRANSLATED_SIDS {
144 [size_is(Entries)] PLSA_TRANSLATED_SID Sids;
145} LSAPR_TRANSLATED_SIDS, *PLSAPR_TRANSLATED_SIDS;
147typedef enum _LSAP_LOOKUP_LEVEL {
152 LsapLookupXForestReferral,
153 LsapLookupXForestResolve,
154 LsapLookupRODCReferralToFullDC,
155} LSAP_LOOKUP_LEVEL, *PLSAP_LOOKUP_LEVEL;
157typedef struct _LSAPR_SID_INFORMATION {
159} LSAPR_SID_INFORMATION, *PLSAPR_SID_INFORMATION;
161typedef struct _LSAPR_SID_ENUM_BUFFER {
163 [size_is(Entries)] PLSAPR_SID_INFORMATION SidInfo;
164} LSAPR_SID_ENUM_BUFFER, *PLSAPR_SID_ENUM_BUFFER;
166typedef struct _LSAPR_TRANSLATED_NAME {
168 RPC_UNICODE_STRING Name;
170} LSAPR_TRANSLATED_NAME, *PLSAPR_TRANSLATED_NAME;
172typedef struct _LSAPR_TRANSLATED_NAMES {
174 [size_is(Entries)] PLSAPR_TRANSLATED_NAME Names;
175} LSAPR_TRANSLATED_NAMES, *PLSAPR_TRANSLATED_NAMES;
177typedef struct _LSAPR_TRANSLATED_NAME_EX {
179 RPC_UNICODE_STRING Name;
182} LSAPR_TRANSLATED_NAME_EX, *PLSAPR_TRANSLATED_NAME_EX;
184typedef struct _LSAPR_TRANSLATED_NAMES_EX {
186 [size_is(Entries)] PLSAPR_TRANSLATED_NAME_EX Names;
187} LSAPR_TRANSLATED_NAMES_EX, *PLSAPR_TRANSLATED_NAMES_EX;
189typedef struct _LSAPR_TRANSLATED_SID_EX {
194} LSAPR_TRANSLATED_SID_EX, *PLSAPR_TRANSLATED_SID_EX;
196typedef struct _LSAPR_TRANSLATED_SIDS_EX {
198 [size_is(Entries)] PLSAPR_TRANSLATED_SID_EX Sids;
199} LSAPR_TRANSLATED_SIDS_EX, *PLSAPR_TRANSLATED_SIDS_EX;
201typedef struct _LSAPR_TRANSLATED_SID_EX2 {
206} LSAPR_TRANSLATED_SID_EX2, *PLSAPR_TRANSLATED_SID_EX2;
208typedef struct _LSAPR_TRANSLATED_SIDS_EX2 {
210 [size_is(Entries)] PLSAPR_TRANSLATED_SID_EX2 Sids;
211} LSAPR_TRANSLATED_SIDS_EX2, *PLSAPR_TRANSLATED_SIDS_EX2;
213typedef LSAPR_TRUST_INFORMATION LSAPR_TRUSTED_DOMAIN_INFORMATION_BASIC;
215typedef struct _LSAPR_SR_SECURITY_DESCRIPTOR {
217 [size_is(Length)] BYTE *SecurityDescriptor;
218} LSAPR_SR_SECURITY_DESCRIPTOR, *PLSAPR_SR_SECURITY_DESCRIPTOR;
220cpp_quote("#ifndef _NTSECAPI_H")
221typedef enum _POLICY_INFORMATION_CLASS {
222 PolicyAuditLogInformation = 1,
223 PolicyAuditEventsInformation,
224 PolicyPrimaryDomainInformation,
225 PolicyPdAccountInformation,
226 PolicyAccountDomainInformation,
227 PolicyLsaServerRoleInformation,
228 PolicyReplicaSourceInformation,
229 PolicyDefaultQuotaInformation,
230 PolicyModificationInformation,
231 PolicyAuditFullSetInformation,
232 PolicyAuditFullQueryInformation,
233 PolicyDnsDomainInformation,
234 PolicyDnsDomainInformationInt,
235 PolicyLocalAccountDomainInformation,
237} POLICY_INFORMATION_CLASS, *PPOLICY_INFORMATION_CLASS;
239typedef struct _POLICY_AUDIT_LOG_INFO {
240 DWORD AuditLogPercentFull;
241 DWORD MaximumLogSize;
242 LARGE_INTEGER AuditRetentionPeriod;
243 BOOLEAN AuditLogFullShutdownInProgress;
244 LARGE_INTEGER TimeToShutdown;
245 DWORD NextAuditRecordId;
246} POLICY_AUDIT_LOG_INFO, *PPOLICY_AUDIT_LOG_INFO;
249typedef struct _LSAPR_POLICY_AUDIT_EVENTS_INFO {
250 BOOLEAN AuditingMode;
251 [size_is(MaximumAuditEventCount)] DWORD *EventAuditingOptions;
252 DWORD MaximumAuditEventCount;
253} LSAPR_POLICY_AUDIT_EVENTS_INFO, *PLSAPR_POLICY_AUDIT_EVENTS_INFO;
255typedef struct _LSAPR_POLICY_PRIMARY_DOM_INFO {
256 RPC_UNICODE_STRING Name;
258} LSAPR_POLICY_PRIMARY_DOM_INFO, *PLSAPR_POLICY_PRIMARY_DOM_INFO;
260typedef struct _LSAPR_POLICY_ACCOUNT_DOM_INFO {
261 RPC_UNICODE_STRING DomainName;
263} LSAPR_POLICY_ACCOUNT_DOM_INFO, *PLSAPR_POLICY_ACCOUNT_DOM_INFO;
265typedef struct _LSAPR_POLICY_PD_ACCOUNT_INFO {
266 RPC_UNICODE_STRING Name;
267} LSAPR_POLICY_PD_ACCOUNT_INFO, *PLSAPR_POLICY_PD_ACCOUNT_INFO;
269cpp_quote("#ifndef _NTSECAPI_H")
270typedef enum _POLICY_LSA_SERVER_ROLE {
271 PolicyServerRoleBackup = 2,
272 PolicyServerRolePrimary,
273} POLICY_LSA_SERVER_ROLE, *PPOLICY_LSA_SERVER_ROLE;
275typedef struct _POLICY_LSA_SERVER_ROLE_INFO {
276 POLICY_LSA_SERVER_ROLE LsaServerRole;
277} POLICY_LSA_SERVER_ROLE_INFO, *PPOLICY_LSA_SERVER_ROLE_INFO;
280typedef struct _POLICY_LSA_REPLICA_SRCE_INFO {
281 RPC_UNICODE_STRING ReplicaSource;
282 RPC_UNICODE_STRING ReplicaAccountName;
283} POLICY_LSA_REPLICA_SRCE_INFO, *PPOLICY_LSA_REPLICA_SRCE_INFO;
285cpp_quote("#ifndef _WINNT_")
286typedef struct _QUOTA_LIMITS {
287 INT64 PagedPoolLimit;
288 INT64 NonPagedPoolLimit;
289 INT64 MinimumWorkingSetSize;
290 INT64 MaximumWorkingSetSize;
292 LARGE_INTEGER TimeLimit;
293} QUOTA_LIMITS, *PQUOTA_LIMITS;
296cpp_quote("#ifndef _NTSECAPI_H")
297typedef struct _POLICY_DEFAULT_QUOTA_INFO {
298 QUOTA_LIMITS QuotaLimits;
299} POLICY_DEFAULT_QUOTA_INFO, *PPOLICY_DEFAULT_QUOTA_INFO;
301typedef struct _POLICY_MODIFICATION_INFO {
302 LARGE_INTEGER ModifiedId;
303 LARGE_INTEGER DatabaseCreationTime;
304} POLICY_MODIFICATION_INFO, *PPOLICY_MODIFICATION_INFO;
306typedef struct _POLICY_AUDIT_FULL_SET_INFO {
307 BOOLEAN ShutDownOnFull;
308} POLICY_AUDIT_FULL_SET_INFO, *PPOLICY_AUDIT_FULL_SET_INFO;
310typedef struct _POLICY_AUDIT_FULL_QUERY_INFO {
311 BOOLEAN ShutDownOnFull;
313} POLICY_AUDIT_FULL_QUERY_INFO, *PPOLICY_AUDIT_FULL_QUERY_INFO;
316typedef struct _LSAPR_POLICY_DNS_DOMAIN_INFO {
317 RPC_UNICODE_STRING Name;
318 RPC_UNICODE_STRING DnsDomainName;
319 RPC_UNICODE_STRING DnsForestName;
322} LSAPR_POLICY_DNS_DOMAIN_INFO, *PLSAPR_POLICY_DNS_DOMAIN_INFO;
325[switch_type(POLICY_INFORMATION_CLASS)] union _LSAPR_POLICY_INFORMATION {
326 [case(PolicyAuditLogInformation)] POLICY_AUDIT_LOG_INFO PolicyAuditLogInfo;
327 [case(PolicyAuditEventsInformation)] LSAPR_POLICY_AUDIT_EVENTS_INFO PolicyAuditEventsInfo;
328 [case(PolicyPrimaryDomainInformation)] LSAPR_POLICY_PRIMARY_DOM_INFO PolicyPrimaryDomInfo;
329 [case(PolicyPdAccountInformation)] LSAPR_POLICY_PD_ACCOUNT_INFO PolicyPdAccountInfo;
330 [case(PolicyAccountDomainInformation)] LSAPR_POLICY_ACCOUNT_DOM_INFO PolicyAccountDomainInfo;
331 [case(PolicyLsaServerRoleInformation)] POLICY_LSA_SERVER_ROLE_INFO PolicyServerRoleInfo;
332 [case(PolicyReplicaSourceInformation)] POLICY_LSA_REPLICA_SRCE_INFO PolicyReplicaSourceInfo;
333 [case(PolicyDefaultQuotaInformation)] POLICY_DEFAULT_QUOTA_INFO PolicyDefaultQuotaInfo;
334 [case(PolicyModificationInformation)] POLICY_MODIFICATION_INFO PolicyModificationInfo;
335 [case(PolicyAuditFullSetInformation)] POLICY_AUDIT_FULL_SET_INFO PolicyAuditFullSetInfo;
336 [case(PolicyAuditFullQueryInformation)] POLICY_AUDIT_FULL_QUERY_INFO PolicyAuditFullQueryInfo;
337 [case(PolicyDnsDomainInformation)] LSAPR_POLICY_DNS_DOMAIN_INFO PolicyDnsDomainInfo;
338 [case(PolicyDnsDomainInformationInt)] LSAPR_POLICY_DNS_DOMAIN_INFO PolicyDnsDomainInfoInt;
339 [case(PolicyLocalAccountDomainInformation)] LSAPR_POLICY_ACCOUNT_DOM_INFO PolicyLocalAccountDomainInfo;
340} LSAPR_POLICY_INFORMATION, *PLSAPR_POLICY_INFORMATION;
342typedef struct _LSAPR_TRUSTED_ENUM_BUFFER {
344 [size_is(EntriesRead)] PLSAPR_TRUST_INFORMATION Information;
345} LSAPR_TRUSTED_ENUM_BUFFER, *PLSAPR_TRUSTED_ENUM_BUFFER;
347cpp_quote("#ifndef _NTSECAPI_H")
348typedef enum _TRUSTED_INFORMATION_CLASS {
349 TrustedDomainNameInformation = 1,
350 TrustedControllersInformation,
351 TrustedPosixOffsetInformation,
352 TrustedPasswordInformation,
353 TrustedDomainInformationBasic,
354 TrustedDomainInformationEx,
355 TrustedDomainAuthInformation,
356 TrustedDomainFullInformation,
357 TrustedDomainAuthInformationInternal,
358 TrustedDomainFullInformationInternal,
359 TrustedDomainInformationEx2Internal,
360 TrustedDomainFullInformation2Internal,
361 TrustedDomainSupportedEncryptionTypes,
362} TRUSTED_INFORMATION_CLASS, *PTRUSTED_INFORMATION_CLASS;
365typedef struct _LSAPR_TRUSTED_DOMAIN_NAME_INFO {
366 RPC_UNICODE_STRING Name;
367} LSAPR_TRUSTED_DOMAIN_NAME_INFO, *PLSAPR_TRUSTED_DOMAIN_NAME_INFO;
369typedef struct _LSAPR_TRUSTED_CONTROLLERS_INFO {
371 [size_is(Entries)] PRPC_UNICODE_STRING Names;
372} LSAPR_TRUSTED_CONTROLLERS_INFO, *PLSAPR_TRUSTED_CONTROLLERS_INFO;
374cpp_quote("#ifndef _NTSECAPI_H")
375typedef struct _TRUSTED_POSIX_OFFSET_INFO {
377} TRUSTED_POSIX_OFFSET_INFO, *PTRUSTED_POSIX_OFFSET_INFO;
380typedef struct _LSAPR_CR_CIPHER_VALUE {
383 [size_is(MaximumLength), length_is(Length)] BYTE *Buffer;
384} LSAPR_CR_CIPHER_VALUE, *PLSAPR_CR_CIPHER_VALUE;
386typedef struct _LSAPR_TRUSTED_PASSWORD_INFO {
387 PLSAPR_CR_CIPHER_VALUE Password;
388 PLSAPR_CR_CIPHER_VALUE OldPassword;
389} LSAPR_TRUSTED_PASSWORD_INFO, *PLSAPR_TRUSTED_PASSWORD_INFO;
391typedef struct _LSAPR_USER_RIGHT_SET {
393 [size_is(Entries)] PRPC_UNICODE_STRING UserRights;
394} LSAPR_USER_RIGHT_SET, *PLSAPR_USER_RIGHT_SET;
396cpp_quote("#ifndef _NTSECAPI_H")
397typedef enum _POLICY_DOMAIN_INFORMATION_CLASS {
398 PolicyDomainQualityOfServiceInformation = 1,
399 PolicyDomainEfsInformation = 2,
400 PolicyDomainKerberosTicketInformation = 3,
401} POLICY_DOMAIN_INFORMATION_CLASS, *PPOLICY_DOMAIN_INFORMATION_CLASS;
403typedef struct _POLICY_DOMAIN_QUALITY_OF_SERVICE_INFO {
404 DWORD QualityOfService;
405} POLICY_DOMAIN_QUALITY_OF_SERVICE_INFO, *PPOLICY_DOMAIN_QUALITY_OF_SERVICE_INFO;
408typedef struct _LSAPR_POLICY_DOMAIN_EFS_INFO {
410 [size_is(InfoLength)] BYTE *EfsBlob;
411} LSAPR_POLICY_DOMAIN_EFS_INFO, *PLSAPR_POLICY_DOMAIN_EFS_INFO;
413cpp_quote("#ifndef _NTSECAPI_H")
414typedef struct _POLICY_DOMAIN_KERBEROS_TICKET_INFO {
415 DWORD AuthenticationOptions;
416 LARGE_INTEGER MaxServiceTicketAge;
417 LARGE_INTEGER MaxTicketAge;
418 LARGE_INTEGER MaxRenewAge;
419 LARGE_INTEGER MaxClockSkew;
420 LARGE_INTEGER Reserved;
421} POLICY_DOMAIN_KERBEROS_TICKET_INFO, *PPOLICY_DOMAIN_KERBEROS_TICKET_INFO;
425[switch_type(POLICY_DOMAIN_INFORMATION_CLASS)] union _LSAPR_POLICY_DOMAIN_INFORMATION {
426 [case(PolicyDomainQualityOfServiceInformation)] POLICY_DOMAIN_QUALITY_OF_SERVICE_INFO PolicyDomainQualityOfServiceInfo;
427 [case(PolicyDomainEfsInformation)] LSAPR_POLICY_DOMAIN_EFS_INFO PolicyDomainEfsInfo;
428 [case(PolicyDomainKerberosTicketInformation)] POLICY_DOMAIN_KERBEROS_TICKET_INFO PolicyDomainKerbTicketInfo;
429} LSAPR_POLICY_DOMAIN_INFORMATION, *PLSAPR_POLICY_DOMAIN_INFORMATION;
431typedef struct _LSAPR_TRUSTED_DOMAIN_INFORMATION_EX {
432 RPC_UNICODE_STRING Name;
433 RPC_UNICODE_STRING FlatName;
435 DWORD TrustDirection;
437 DWORD TrustAttributes;
438} LSAPR_TRUSTED_DOMAIN_INFORMATION_EX, *PLSAPR_TRUSTED_DOMAIN_INFORMATION_EX;
440typedef struct _LSAPR_TRUSTED_ENUM_BUFFER_EX {
442 [size_is(EntriesRead)] PLSAPR_TRUSTED_DOMAIN_INFORMATION_EX EnumerationBuffer;
443} LSAPR_TRUSTED_ENUM_BUFFER_EX, *PLSAPR_TRUSTED_ENUM_BUFFER_EX;
445typedef struct _LSAPR_TRUSTED_DOMAIN_INFORMATION_EX2 {
446 RPC_UNICODE_STRING Name;
447 RPC_UNICODE_STRING FlatName;
449 DWORD TrustDirection;
451 DWORD TrustAttributes;
452 DWORD ForestTrustLength;
453 [size_is(ForestTrustLength)] BYTE *ForestTrustInfo;
454} LSAPR_TRUSTED_DOMAIN_INFORMATION_EX2, *PLSAPR_TRUSTED_DOMAIN_INFORMATION_EX2;
456typedef struct _LSAPR_AUTH_INFORMATION {
457 LARGE_INTEGER LastUpdateTime;
459 DWORD AuthInfoLength;
460 [size_is(AuthInfoLength)] BYTE *AuthInfo;
461} LSAPR_AUTH_INFORMATION, *PLSAPR_AUTH_INFORMATION;
463typedef struct _LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION {
464 DWORD IncomingAuthInfos;
465 PLSAPR_AUTH_INFORMATION IncomingAuthenticationInformation;
466 PLSAPR_AUTH_INFORMATION IncomingPreviousAuthenticationInformation;
467 DWORD OutgoingAuthInfos;
468 PLSAPR_AUTH_INFORMATION OutgoingAuthenticationInformation;
469 PLSAPR_AUTH_INFORMATION OutgoingPreviousAuthenticationInformation;
470} LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION, *PLSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION;
472typedef struct _LSAPR_TRUSTED_DOMAIN_AUTH_BLOB {
474 [size_is(AuthSize)] BYTE *AuthBlob;
475} LSAPR_TRUSTED_DOMAIN_AUTH_BLOB, *PLSAPR_TRUSTED_DOMAIN_AUTH_BLOB;
477typedef struct _LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL {
478 LSAPR_TRUSTED_DOMAIN_AUTH_BLOB AuthBlob;
479} LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL, *PLSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL;
481typedef struct _LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION {
482 LSAPR_TRUSTED_DOMAIN_INFORMATION_EX Information;
483 TRUSTED_POSIX_OFFSET_INFO PosixOffset;
484 LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION AuthInformation;
485} LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION, *PLSAPR_TRUSTED_DOMAIN_FULL_INFORMATION;
487typedef struct _LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION_INTERNAL {
488 LSAPR_TRUSTED_DOMAIN_INFORMATION_EX Information;
489 TRUSTED_POSIX_OFFSET_INFO PosixOffset;
490 LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL AuthInformation;
491} LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION_INTERNAL, *PLSAPR_TRUSTED_DOMAIN_FULL_INFORMATION_INTERNAL;
493typedef struct _LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION2 {
494 LSAPR_TRUSTED_DOMAIN_INFORMATION_EX2 Information;
495 TRUSTED_POSIX_OFFSET_INFO PosixOffset;
496 LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION AuthInformation;
497} LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION2, *PLSAPR_TRUSTED_DOMAIN_FULL_INFORMATION2;
499typedef struct _TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES {
500 DWORD SupportedEncryptionTypes;
501} TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES, *PTRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES;
504[switch_type(TRUSTED_INFORMATION_CLASS)] union _LSAPR_TRUSTED_DOMAIN_INFO {
505 [case(TrustedDomainNameInformation)] LSAPR_TRUSTED_DOMAIN_NAME_INFO TrustedDomainNameInfo;
506 [case(TrustedControllersInformation)] LSAPR_TRUSTED_CONTROLLERS_INFO TrustedControllersInfo;
507 [case(TrustedPosixOffsetInformation)] TRUSTED_POSIX_OFFSET_INFO TrustedPosixOffsetInfo;
508 [case(TrustedPasswordInformation)] LSAPR_TRUSTED_PASSWORD_INFO TrustedPasswordInfo;
509 [case(TrustedDomainInformationBasic)] LSAPR_TRUSTED_DOMAIN_INFORMATION_BASIC TrustedDomainInfoBasic;
510 [case(TrustedDomainInformationEx)] LSAPR_TRUSTED_DOMAIN_INFORMATION_EX TrustedDomainInfoEx;
511 [case(TrustedDomainAuthInformation)] LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION TrustedAuthInfo;
512 [case(TrustedDomainFullInformation)] LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION TrustedFullInfo;
513 [case(TrustedDomainAuthInformationInternal)] LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL TrustedAuthInfoInternal;
514 [case(TrustedDomainFullInformationInternal)] LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION_INTERNAL TrustedFullInfoInternal;
515 [case(TrustedDomainInformationEx2Internal)] LSAPR_TRUSTED_DOMAIN_INFORMATION_EX2 TrustedDomainInfoEx2;
516 [case(TrustedDomainFullInformation2Internal)] LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION2 TrustedFullInfo2;
517 [case(TrustedDomainSupportedEncryptionTypes)] TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES TrustedDomainSETs;
518} LSAPR_TRUSTED_DOMAIN_INFO, *PLSAPR_TRUSTED_DOMAIN_INFO;
520typedef struct _LSAPR_LUID_AND_ATTRIBUTES {
523} LSAPR_LUID_AND_ATTRIBUTES, *PLSAPR_LUID_AND_ATTRIBUTES;
525typedef struct _LSAPR_PRIVILEGE_SET {
526 DWORD PrivilegeCount;
528 [size_is(PrivilegeCount)] LSAPR_LUID_AND_ATTRIBUTES Privilege[*];
529} LSAPR_PRIVILEGE_SET, *PLSAPR_PRIVILEGE_SET;
531cpp_quote("#ifndef _NTSECAPI_H")
532typedef enum _LSA_FOREST_TRUST_RECORD_TYPE {
533 ForestTrustTopLevelName = 0,
534 ForestTrustTopLevelNameEx = 1,
535 ForestTrustDomainInfo = 2,
536} LSA_FOREST_TRUST_RECORD_TYPE;
538typedef struct _LSA_FOREST_TRUST_BINARY_DATA {
540 [size_is(Length)] BYTE *Buffer;
541} LSA_FOREST_TRUST_BINARY_DATA, *PLSA_FOREST_TRUST_BINARY_DATA;
543typedef struct _LSA_FOREST_TRUST_DOMAIN_INFO {
545 LSA_UNICODE_STRING DnsName;
546 LSA_UNICODE_STRING NetbiosName;
547} LSA_FOREST_TRUST_DOMAIN_INFO, *PLSA_FOREST_TRUST_DOMAIN_INFO;
549typedef struct _LSA_FOREST_TRUST_RECORD {
551 LSA_FOREST_TRUST_RECORD_TYPE ForestTrustType;
553 [switch_type(LSA_FOREST_TRUST_RECORD_TYPE), switch_is(ForestTrustType)] union {
554 [case(ForestTrustTopLevelName, ForestTrustTopLevelNameEx)] LSA_UNICODE_STRING TopLevelName;
555 [case(ForestTrustDomainInfo)] LSA_FOREST_TRUST_DOMAIN_INFO DomainInfo;
556 [default] LSA_FOREST_TRUST_BINARY_DATA Data;
558} LSA_FOREST_TRUST_RECORD, *PLSA_FOREST_TRUST_RECORD;
560typedef struct _LSA_FOREST_TRUST_INFORMATION {
562 [size_is(RecordCount)] PLSA_FOREST_TRUST_RECORD *Entries;
563} LSA_FOREST_TRUST_INFORMATION, *PLSA_FOREST_TRUST_INFORMATION;
565typedef enum _LSA_FOREST_TRUST_COLLISION_RECORD_TYPE {
569} LSA_FOREST_TRUST_COLLISION_RECORD_TYPE;
571typedef struct _LSA_FOREST_TRUST_COLLISION_RECORD {
573 LSA_FOREST_TRUST_COLLISION_RECORD_TYPE Type;
575 LSA_UNICODE_STRING Name;
576} LSA_FOREST_TRUST_COLLISION_RECORD, *PLSA_FOREST_TRUST_COLLISION_RECORD;
578typedef struct _LSA_FOREST_TRUST_COLLISION_INFORMATION {
580 [size_is(RecordCount)] PLSA_FOREST_TRUST_COLLISION_RECORD *Entries;
581} LSA_FOREST_TRUST_COLLISION_INFORMATION, *PLSA_FOREST_TRUST_COLLISION_INFORMATION;
587typedef struct _CREDPR_TARGET_INFORMATION
590 LPWSTR NetbiosServerName;
591 LPWSTR DnsServerName;
592 LPWSTR NetbiosDomainName;
593 LPWSTR DnsDomainName;
597} CREDPR_TARGET_INFORMATION, *PCREDPR_TARGET_INFORMATION;
601 uuid(12345778-1234-abcd-ef00-0123456789ab),
603 pointer_default(unique),
604 endpoint("ncacn_np:[\\pipe\\lsarpc]")
615 [in, out] LSAPR_HANDLE *ObjectHandle);
621 [in] LSAPR_HANDLE ObjectHandle);
626 LsarEnumeratePrivileges(
627 [in] LSAPR_HANDLE PolicyHandle,
628 [in, out] DWORD *EnumerationContext,
629 [out] PLSAPR_PRIVILEGE_ENUM_BUFFER EnumerationBuffer,
630 [in] DWORD PreferedMaximumLength);
635 LsarQuerySecurityObject(
636 [in] LSAPR_HANDLE ObjectHandle,
637 [in] SECURITY_INFORMATION SecurityInformation,
638 [out] PLSAPR_SR_SECURITY_DESCRIPTOR *SecurityDescriptor);
643 LsarSetSecurityObject(
644 [in] LSAPR_HANDLE ObjectHandle,
645 [in] SECURITY_INFORMATION SecurityInformation,
646 [in] PLSAPR_SR_SECURITY_DESCRIPTOR SecurityDescriptor);
652 [in] PRPC_UNICODE_STRING String1,
653 [in] PRPC_UNICODE_STRING String2,
654 [in] PRPC_UNICODE_STRING String3,
655 [in] PRPC_UNICODE_STRING String4,
656 [in] PRPC_UNICODE_STRING String5);
662 [in, unique] PLSAPR_SERVER_NAME SystemName,
663 [in] PLSAPR_OBJECT_ATTRIBUTES ObjectAttributes,
664 [in] ACCESS_MASK DesiredAccess,
665 [out] LSAPR_HANDLE *PolicyHandle);
670 LsarQueryInformationPolicy(
671 [in] LSAPR_HANDLE PolicyHandle,
672 [in] POLICY_INFORMATION_CLASS InformationClass,
673 [out, switch_is(InformationClass)] PLSAPR_POLICY_INFORMATION *PolicyInformation);
678 LsarSetInformationPolicy(
679 [in] LSAPR_HANDLE PolicyHandle,
680 [in] POLICY_INFORMATION_CLASS InformationClass,
681 [in, switch_is(InformationClass)] PLSAPR_POLICY_INFORMATION PolicyInformation);
687 [in] LSAPR_HANDLE ObjectHandle);
693 [in] LSAPR_HANDLE PolicyHandle,
694 [in] PRPC_SID AccountSid,
695 [in] ACCESS_MASK DesiredAccess,
696 [out] LSAPR_HANDLE *AccountHandle);
701 LsarEnumerateAccounts(
702 [in] LSAPR_HANDLE PolicyHandle,
703 [in, out] DWORD *EnumerationContext,
704 [out] PLSAPR_ACCOUNT_ENUM_BUFFER EnumerationBuffer,
705 [in] DWORD PreferedMaximumLength);
710 LsarCreateTrustedDomain(
711 [in] LSAPR_HANDLE PolicyHandle,
712 [in] PLSAPR_TRUST_INFORMATION TrustedDomainInformation,
713 [in] ACCESS_MASK DesiredAccess,
714 [out] LSAPR_HANDLE *TrustedDomainHandle);
719 LsarEnumerateTrustedDomains(
720 [in] LSAPR_HANDLE PolicyHandle,
721 [in, out] DWORD *EnumerationContext,
722 [out] PLSAPR_TRUSTED_ENUM_BUFFER EnumerationBuffer,
723 [in] DWORD PreferedMaximumLength);
729 [in] LSAPR_HANDLE PolicyHandle,
731 [in, size_is(Count)] PRPC_UNICODE_STRING Names,
732 [out] PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
733 [in, out] PLSAPR_TRANSLATED_SIDS TranslatedSids,
734 [in] LSAP_LOOKUP_LEVEL LookupLevel,
735 [in, out] DWORD *MappedCount);
741 [in] LSAPR_HANDLE PolicyHandle,
742 [in] PLSAPR_SID_ENUM_BUFFER SidEnumBuffer,
743 [out] PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
744 [in, out] PLSAPR_TRANSLATED_NAMES TranslatedNames,
745 [in] LSAP_LOOKUP_LEVEL LookupLevel,
746 [in, out] DWORD *MappedCount);
752 [in] LSAPR_HANDLE PolicyHandle,
753 [in] PRPC_UNICODE_STRING SecretName,
754 [in] ACCESS_MASK DesiredAccess,
755 [out] LSAPR_HANDLE *SecretHandle);
761 [in] LSAPR_HANDLE PolicyHandle,
762 [in] PRPC_SID AccountSid,
763 [in] ACCESS_MASK DesiredAccess,
764 [out] LSAPR_HANDLE *AccountHandle);
769 LsarEnumeratePrivilegesAccount(
770 [in] LSAPR_HANDLE AccountHandle,
771 [out] PLSAPR_PRIVILEGE_SET *Privileges);
776 LsarAddPrivilegesToAccount(
777 [in] LSAPR_HANDLE AccountHandle,
778 [in] PLSAPR_PRIVILEGE_SET Privileges);
783 LsarRemovePrivilegesFromAccount(
784 [in] LSAPR_HANDLE AccountHandle,
785 [in] BOOLEAN AllPrivileges,
786 [in, unique] PLSAPR_PRIVILEGE_SET Privileges);
791 LsarGetQuotasForAccount(
792 [in] LSAPR_HANDLE AccountHandle,
793 [out] PQUOTA_LIMITS QuotaLimits);
798 LsarSetQuotasForAccount(
799 [in] LSAPR_HANDLE AccountHandle,
800 [in] PQUOTA_LIMITS QuotaLimits);
805 LsarGetSystemAccessAccount(
806 [in] LSAPR_HANDLE AccountHandle,
807 [out] ACCESS_MASK *SystemAccess);
812 LsarSetSystemAccessAccount(
813 [in] LSAPR_HANDLE AccountHandle,
814 [in] ACCESS_MASK SystemAccess);
819 LsarOpenTrustedDomain(
820 [in] LSAPR_HANDLE PolicyHandle,
821 [in] PRPC_SID TrustedDomainSid,
822 [in] ACCESS_MASK DesiredAccess,
823 [out] LSAPR_HANDLE *TrustedDomainHandle);
828 LsarQueryInfoTrustedDomain(
829 [in] LSAPR_HANDLE TrustedDomainHandle,
830 [in] TRUSTED_INFORMATION_CLASS InformationClass,
831 [out, switch_is(InformationClass)] PLSAPR_TRUSTED_DOMAIN_INFO *TrustedDomainInformation);
836 LsarSetInformationTrustedDomain(
837 [in] LSAPR_HANDLE TrustedDomainHandle,
838 [in] TRUSTED_INFORMATION_CLASS InformationClass,
839 [in, switch_is(InformationClass)] PLSAPR_TRUSTED_DOMAIN_INFO TrustedDomainInformation);
845 [in] LSAPR_HANDLE PolicyHandle,
846 [in] PRPC_UNICODE_STRING SecretName,
847 [in] ACCESS_MASK DesiredAccess,
848 [out] LSAPR_HANDLE *SecretHandle);
854 [in] LSAPR_HANDLE SecretHandle,
855 [in, unique] PLSAPR_CR_CIPHER_VALUE EncryptedCurrentValue,
856 [in, unique] PLSAPR_CR_CIPHER_VALUE EncryptedOldValue);
862 [in] LSAPR_HANDLE SecretHandle,
863 [in, out, unique] PLSAPR_CR_CIPHER_VALUE *EncryptedCurrentValue,
864 [in, out, unique] PLARGE_INTEGER CurrentValueSetTime,
865 [in, out, unique] PLSAPR_CR_CIPHER_VALUE *EncryptedOldValue,
866 [in, out, unique] PLARGE_INTEGER OldValueSetTime);
871 LsarLookupPrivilegeValue(
872 [in] LSAPR_HANDLE PolicyHandle,
873 [in] PRPC_UNICODE_STRING Name,
879 LsarLookupPrivilegeName(
880 [in] LSAPR_HANDLE PolicyHandle,
882 [out] PRPC_UNICODE_STRING *Name);
887 LsarLookupPrivilegeDisplayName(
888 [in] LSAPR_HANDLE PolicyHandle,
889 [in] PRPC_UNICODE_STRING Name,
890 [in] USHORT ClientLanguage,
891 [in] USHORT ClientSystemDefaultLanguage,
892 [out] PRPC_UNICODE_STRING *DisplayName,
893 [out] USHORT *LanguageReturned);
899 [in, out] LSAPR_HANDLE *ObjectHandle);
901cpp_quote("#if _WIN32_WINNT >= 0x0351")
906 LsarEnumerateAccountsWithUserRight(
907 [in] LSAPR_HANDLE PolicyHandle,
908 [in, unique] PRPC_UNICODE_STRING UserRight,
909 [out] PLSAPR_ACCOUNT_ENUM_BUFFER EnumerationBuffer);
914 LsarEnumerateAccountRights(
915 [in] LSAPR_HANDLE PolicyHandle,
916 [in] PRPC_SID AccountSid,
917 [out] PLSAPR_USER_RIGHT_SET UserRights);
922 LsarAddAccountRights(
923 [in] LSAPR_HANDLE PolicyHandle,
924 [in] PRPC_SID AccountSid,
925 [in] PLSAPR_USER_RIGHT_SET UserRights);
930 LsarRemoveAccountRights(
931 [in] LSAPR_HANDLE PolicyHandle,
932 [in] PRPC_SID AccountSid,
933 [in] BOOLEAN AllRights,
934 [in] PLSAPR_USER_RIGHT_SET UserRights);
939 LsarQueryTrustedDomainInfo(
940 [in] LSAPR_HANDLE PolicyHandle,
941 [in] PRPC_SID TrustedDomainSid,
942 [in] TRUSTED_INFORMATION_CLASS InformationClass,
943 [out, switch_is(InformationClass)] PLSAPR_TRUSTED_DOMAIN_INFO *TrustedDomainInformation);
948 LsarSetTrustedDomainInfo(
949 [in] LSAPR_HANDLE PolicyHandle,
950 [in] PRPC_SID TrustedDomainSid,
951 [in] TRUSTED_INFORMATION_CLASS InformationClass,
952 [in, switch_is(InformationClass)] PLSAPR_TRUSTED_DOMAIN_INFO TrustedDomainInformation);
957 LsarDeleteTrustedDomain(
958 [in] LSAPR_HANDLE PolicyHandle,
959 [in] PRPC_SID TrustedDomainSid);
964 LsarStorePrivateData(
965 [in] LSAPR_HANDLE PolicyHandle,
966 [in] PRPC_UNICODE_STRING KeyName,
967 [in, unique] PLSAPR_CR_CIPHER_VALUE EncryptedData);
972 LsarRetrievePrivateData(
973 [in] LSAPR_HANDLE PolicyHandle,
974 [in] PRPC_UNICODE_STRING KeyName,
975 [in, out] PLSAPR_CR_CIPHER_VALUE *EncryptedData);
981 [in, unique, string] PLSAPR_SERVER_NAME SystemName,
982 [in] PLSAPR_OBJECT_ATTRIBUTES ObjectAttributes,
983 [in] ACCESS_MASK DesiredAccess,
984 [out] LSAPR_HANDLE *PolicyHandle);
990 [in, unique, string] PLSAPR_SERVER_NAME SystemName,
991 [in, out] PRPC_UNICODE_STRING *UserName,
992 [in, out, unique] PRPC_UNICODE_STRING *DomainName);
994cpp_quote("#if _WIN32_WINNT >= 0x0500")
999 LsarQueryInformationPolicy2(
1000 [in] LSAPR_HANDLE PolicyHandle,
1001 [in] POLICY_INFORMATION_CLASS InformationClass,
1002 [out, switch_is(InformationClass)] PLSAPR_POLICY_INFORMATION *PolicyInformation);
1007 LsarSetInformationPolicy2(
1008 [in] LSAPR_HANDLE PolicyHandle,
1009 [in] POLICY_INFORMATION_CLASS InformationClass,
1010 [in, switch_is(InformationClass)] PLSAPR_POLICY_INFORMATION PolicyInformation);
1015 LsarQueryTrustedDomainInfoByName(
1016 [in] LSAPR_HANDLE PolicyHandle,
1017 [in] PRPC_UNICODE_STRING TrustedDomainName,
1018 [in] POLICY_INFORMATION_CLASS InformationClass,
1019 [out, switch_is(InformationClass)] PLSAPR_TRUSTED_DOMAIN_INFO *PolicyInformation);
1024 LsarSetTrustedDomainInfoByName(
1025 [in] LSAPR_HANDLE PolicyHandle,
1026 [in] PRPC_UNICODE_STRING TrustedDomainName,
1027 [in] POLICY_INFORMATION_CLASS InformationClass,
1028 [in, switch_is(InformationClass)] PLSAPR_TRUSTED_DOMAIN_INFO PolicyInformation);
1033 LsarEnumerateTrustedDomainsEx(
1034 [in] LSAPR_HANDLE PolicyHandle,
1035 [in, out] DWORD *EnumerationContext,
1036 [out] PLSAPR_TRUSTED_ENUM_BUFFER_EX EnumerationBuffer,
1037 [in] DWORD PreferedMaximumLength);
1042 LsarCreateTrustedDomainEx(
1043 [in] LSAPR_HANDLE PolicyHandle,
1044 [in] PLSAPR_TRUSTED_DOMAIN_INFORMATION_EX TrustedDomainInformation,
1045 [in] PLSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION AuthentificationInformation,
1046 [in] ACCESS_MASK DesiredAccess,
1047 [out] LSAPR_HANDLE *TrustedDomainHandle);
1052 LsarSetPolicyReplicationHandle(
1053 [in, out] PLSAPR_HANDLE PolicyHandle);
1058 LsarQueryDomainInformationPolicy(
1059 [in] LSAPR_HANDLE PolicyHandle,
1060 [in] POLICY_INFORMATION_CLASS InformationClass,
1061 [out, switch_is(InformationClass)] PLSAPR_POLICY_DOMAIN_INFORMATION *PolicyInformation);
1066 LsarSetDomainInformationPolicy(
1067 [in] LSAPR_HANDLE PolicyHandle,
1068 [in] POLICY_INFORMATION_CLASS InformationClass,
1069 [in, switch_is(InformationClass)] PLSAPR_POLICY_DOMAIN_INFORMATION PolicyInformation);
1074 LsarOpenTrustedDomainByName(
1075 [in] LSAPR_HANDLE PolicyHandle,
1076 [in] PRPC_UNICODE_STRING TrustedDomainName,
1077 [in] ACCESS_MASK DesiredAccess,
1078 [out] LSAPR_HANDLE *TrustedDomainHandle);
1084 [in] handle_t hBinding); /* FIXME */
1090 [in] LSAPR_HANDLE PolicyHandle,
1091 [in] PLSAPR_SID_ENUM_BUFFER SidEnumBuffer,
1092 [out] PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
1093 [in, out] PLSAPR_TRANSLATED_NAMES_EX TranslatedNames,
1094 [in] LSAP_LOOKUP_LEVEL LookupLevel,
1095 [in, out] DWORD *MappedCount,
1096 [in] DWORD LookupOptions,
1097 [in] DWORD ClientRevision);
1103 [in] LSAPR_HANDLE PolicyHandle,
1105 [in, size_is(Count)] PRPC_UNICODE_STRING Names,
1106 [out] PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
1107 [in, out] PLSAPR_TRANSLATED_SIDS_EX TranslatedSids,
1108 [in] LSAP_LOOKUP_LEVEL LookupLevel,
1109 [in, out] DWORD *MappedCount,
1110 [in] DWORD LookupOptions,
1111 [in] DWORD ClientRevision);
1116 LsarCreateTrustedDomainEx2(
1117 [in] LSAPR_HANDLE PolicyHandle,
1118 [in] PLSAPR_TRUSTED_DOMAIN_INFORMATION_EX TrustedDomainInformation,
1119 [in] PLSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL AuthentificationInformation,
1120 [in] ACCESS_MASK DesiredAccess,
1121 [out] LSAPR_HANDLE *TrustedDomainHandle);
1123cpp_quote("#if _WIN32_WINNT >= 0x0501")
1129 [in, unique] PLSAPR_SERVER_NAME SystemName); /* FIXME */
1135 [in, unique] PLSAPR_SERVER_NAME SystemName); /* FIXME */
1141 [in, unique] PLSAPR_SERVER_NAME SystemName); /* FIXME */
1146 CredrWriteDomainCredentials(
1147 [in, unique] PLSAPR_SERVER_NAME SystemName); /* FIXME */
1152 CredrReadDomainCredentials(
1153 [in, unique] PLSAPR_SERVER_NAME SystemName); /* FIXME */
1159 [in, unique] PLSAPR_SERVER_NAME SystemName,
1160 [in, unique, string] LPWSTR TargetName,
1168 [in, unique] PLSAPR_SERVER_NAME SystemName,
1169 [in, unique, string] LPWSTR TargetName,
1171 [out] CREDPR_TARGET_INFORMATION *TargetInformation);
1177 [in, unique] PLSAPR_SERVER_NAME SystemName);
1183 [in] LSAPR_HANDLE PolicyHandle,
1185 [in, size_is(Count)] PRPC_UNICODE_STRING Names,
1186 [out] PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
1187 [in, out] PLSAPR_TRANSLATED_SIDS_EX2 TranslatedSids,
1188 [in] LSAP_LOOKUP_LEVEL LookupLevel,
1189 [in, out] DWORD *MappedCount,
1190 [in] DWORD LookupOptions,
1191 [in] DWORD ClientRevision);
1196 CredrGetSessionTypes(
1197 [in, unique] PLSAPR_SERVER_NAME SystemName,
1198 [in] DWORD MaximumPersistCount,
1199 [out, size_is(MaximumPersistCount)] DWORD *MaximumPersist);
1204 LsarRegisterAuditEvent(
1205 [in] handle_t hBinding); /* FIXME */
1211 [in] handle_t hBinding); /* FIXME */
1216 LsarUnregisterAuditEvent(
1217 [in] handle_t hBinding); /* FIXME */
1222 LsarQueryForestTrustInformation(
1223 [in] LSAPR_HANDLE PolicyHandle,
1224 [in] PLSA_UNICODE_STRING TrustedDomainName,
1225 [in] LSA_FOREST_TRUST_RECORD_TYPE HighestRecordType,
1226 [out] PLSA_FOREST_TRUST_INFORMATION *ForestTrustInfo);
1231 LsarSetForestTrustInformation(
1232 [in] LSAPR_HANDLE PolicyHandle,
1233 [in] PLSA_UNICODE_STRING TrustedDomainName,
1234 [in] LSA_FOREST_TRUST_RECORD_TYPE HighestRecordType,
1235 [in] PLSA_FOREST_TRUST_INFORMATION ForestTrustInfo,
1236 [in] BOOLEAN CheckOnly,
1237 [out] PLSA_FOREST_TRUST_COLLISION_INFORMATION *CollisionInfo);
1243 [in, unique] PLSAPR_SERVER_NAME SystemName,
1244 [in, unique, string] LPWSTR OldTargetName,
1245 [in, unique, string] LPWSTR NewTargetName,
1253 [in] LSAPR_HANDLE PolicyHandle,
1254 [in] PLSAPR_SID_ENUM_BUFFER SidEnumBuffer,
1255 [out] PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
1256 [in, out] PLSAPR_TRANSLATED_NAMES_EX TranslatedNames,
1257 [in] LSAP_LOOKUP_LEVEL LookupLevel,
1258 [in, out] DWORD *MappedCount,
1259 [in] DWORD LookupOptions,
1260 [in] DWORD ClientRevision);
1266 [in] LSAPR_HANDLE PolicyHandle,
1268 [in, size_is(Count)] PRPC_UNICODE_STRING Names,
1269 [out] PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
1270 [in, out] PLSAPR_TRANSLATED_SIDS_EX2 TranslatedSids,
1271 [in] LSAP_LOOKUP_LEVEL LookupLevel,
1272 [in, out] DWORD *MappedCount,
1273 [in] DWORD LookupOptions,
1274 [in] DWORD ClientRevision);
1280 [in, unique] PLSAPR_SERVER_NAME SystemName,
1281 [in] PLSAPR_OBJECT_ATTRIBUTES ObjectAttributes,
1282 [in] ACCESS_MASK DesiredAccess,
1283 [out] LSAPR_HANDLE *PolicyHandle);
1288 LsarAdtRegisterSecurityEventSource(
1289 [in] handle_t hBinding); /* FIXME */
1294 LsarAdtUnregisterSecurityEventSource(
1295 [in] handle_t hBinding); /* FIXME */
1300 LsarAdtReportSecurityEvent(
1301 [in] handle_t hBinding); /* FIXME */
CD3D10_BUFFER_DESC D3D10_BUFFER_DESC cpp_quote(" ~CD3D10_BUFFER_DESC() {}") operator const D3D10_BUFFER_DESC &() const
LSAPR_HANDLE * PLSAPR_HANDLE
LPWSTR PLSAPR_SERVER_NAME