Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenlsa.idl
Go to the documentation of this file.
00001 /* 00002 * Local Security Authority interface definition 00003 */ 00004 00005 #include <ms-dtyp.idl> 00006 00007 typedef [handle] LPWSTR PLSAPR_SERVER_NAME; 00008 00009 typedef [context_handle] PVOID LSAPR_HANDLE; 00010 typedef LSAPR_HANDLE *PLSAPR_HANDLE; 00011 00012 cpp_quote("#ifndef _WINNT_H") 00013 typedef struct _LUID { 00014 DWORD LowPart; 00015 LONG HighPart; 00016 } LUID, *PLUID; 00017 cpp_quote("#endif") 00018 00019 cpp_quote("#ifndef _NTDEF_") 00020 typedef long NTSTATUS; 00021 typedef struct _STRING { 00022 WORD Length; 00023 WORD MaximumLength; 00024 [size_is(MaximumLength), length_is(Length)] LPSTR Buffer; 00025 } STRING, *PSTRING; 00026 00027 cpp_quote("#endif") 00028 00029 typedef struct _LSAPR_ACL { 00030 BYTE AclRevision; 00031 BYTE Sbz1; 00032 WORD AclSize; 00033 [size_is(AclSize - 4)] BYTE Dummy1[*]; 00034 } LSAPR_ACL, *PLSAPR_ACL; 00035 00036 cpp_quote("#ifndef _WINNT_H") 00037 typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL; 00038 cpp_quote("#endif") 00039 00040 typedef struct _LSAPR_SECURITY_DESCRIPTOR { 00041 BYTE Revision; 00042 BYTE Sbz1; 00043 SECURITY_DESCRIPTOR_CONTROL Control; 00044 PRPC_SID Owner; 00045 PRPC_SID Group; 00046 LSAPR_ACL *Sacl; 00047 /* FIXME: should be PLSAPR_ACL Sacl; */ 00048 LSAPR_ACL *Dacl; 00049 /* FIXME: should be PLSAPR_ACL Dacl; */ 00050 } LSAPR_SECURITY_DESCRIPTOR, *PLSAPR_SECURITY_DESCRIPTOR; 00051 00052 cpp_quote("#if 0") 00053 00054 typedef enum _SECURITY_IMPERSONATION_LEVEL { 00055 SecurityAnonymous = 0, 00056 SecurityIdentification, 00057 SecurityImpersonation, 00058 SecurityDelegation, 00059 } SECURITY_IMPERSONATION_LEVEL, *PSECURITY_IMPERSONATION_LEVEL; 00060 00061 typedef BYTE SECURITY_CONTEXT_TRACKING_MODE, *PSECURITY_CONTEXT_TRACKING_MODE; 00062 00063 typedef struct _SECURITY_QUALITY_OF_SERVICE { 00064 DWORD Length; 00065 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; 00066 SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode; 00067 BYTE EffectiveOnly; 00068 } SECURITY_QUALITY_OF_SERVICE, *PSECURITY_QUALITY_OF_SERVICE; 00069 00070 cpp_quote("#endif") 00071 00072 typedef struct _LSAPR_OBJECT_ATTRIBUTES { 00073 DWORD Length; 00074 BYTE *RootDirectory; 00075 PSTRING ObjectName; 00076 DWORD Attributes; 00077 PLSAPR_SECURITY_DESCRIPTOR SecurityDescriptor; 00078 PSECURITY_QUALITY_OF_SERVICE SecurityQualityOfService; 00079 } LSAPR_OBJECT_ATTRIBUTES, *PLSAPR_OBJECT_ATTRIBUTES; 00080 00081 typedef struct _LSAPR_POLICY_PRIVILEGE_DEF { 00082 RPC_UNICODE_STRING Name; 00083 LUID LocalValue; 00084 } LSAPR_POLICY_PRIVILEGE_DEF, *PLSAPR_POLICY_PRIVILEGE_DEF; 00085 00086 typedef struct _LSAPR_PRIVILEGE_ENUM_BUFFER { 00087 DWORD Entries; 00088 [size_is(Entries)] PLSAPR_POLICY_PRIVILEGE_DEF Privileges; 00089 } LSAPR_PRIVILEGE_ENUM_BUFFER, *PLSAPR_PRIVILEGE_ENUM_BUFFER; 00090 00091 typedef struct _LSAPR_ACCOUNT_INFORMATION { 00092 PRPC_SID Sid; 00093 } LSAPR_ACCOUNT_INFORMATION, *PLSAPR_ACCOUNT_INFORMATION; 00094 00095 typedef struct _LSAPR_ACCOUNT_ENUM_BUFFER { 00096 DWORD EntriesRead; 00097 [size_is(EntriesRead)] PLSAPR_ACCOUNT_INFORMATION Information; 00098 } LSAPR_ACCOUNT_ENUM_BUFFER, *PLSAPR_ACCOUNT_ENUM_BUFFER; 00099 00100 cpp_quote("#ifndef _NTSECAPI_H") 00101 typedef RPC_UNICODE_STRING LSA_UNICODE_STRING, *PLSA_UNICODE_STRING; 00102 cpp_quote("#endif") 00103 00104 typedef struct _LSAPR_TRUST_INFORMATION { 00105 RPC_UNICODE_STRING Name; 00106 PRPC_SID Sid; 00107 } LSAPR_TRUST_INFORMATION, *PLSAPR_TRUST_INFORMATION; 00108 00109 typedef struct _LSAPR_REFERENCED_DOMAIN_LIST { 00110 DWORD Entries; 00111 [size_is(Entries)] PLSAPR_TRUST_INFORMATION Domains; 00112 DWORD MaxEntries; 00113 } LSAPR_REFERENCED_DOMAIN_LIST, *PLSAPR_REFERENCED_DOMAIN_LIST; 00114 00115 cpp_quote("#if 0") 00116 00117 typedef enum _SID_NAME_USE { 00118 SidTypeUser = 1, 00119 SidTypeGroup, 00120 SidTypeDomain, 00121 SidTypeAlias, 00122 SidTypeWellKnownGroup, 00123 SidTypeDeletedAccount, 00124 SidTypeInvalid, 00125 SidTypeUnknown, 00126 SidTypeComputer, 00127 SidTypeLabel, 00128 } SID_NAME_USE, *PSID_NAME_USE; 00129 00130 cpp_quote("#endif") 00131 00132 cpp_quote("#ifndef _NTDEF_") 00133 00134 typedef struct _LSA_TRANSLATED_SID { 00135 SID_NAME_USE Use; 00136 DWORD RelativeId; 00137 LONG DomainIndex; 00138 } LSA_TRANSLATED_SID, *PLSA_TRANSLATED_SID; 00139 00140 cpp_quote("#endif") 00141 00142 typedef struct _LSAPR_TRANSLATED_SIDS { 00143 DWORD Entries; 00144 [size_is(Entries)] PLSA_TRANSLATED_SID Sids; 00145 } LSAPR_TRANSLATED_SIDS, *PLSAPR_TRANSLATED_SIDS; 00146 00147 typedef enum _LSAP_LOOKUP_LEVEL { 00148 LsapLookupWksta = 1, 00149 LsapLookupPDC, 00150 LsapLookupTDL, 00151 LsapLookupGC, 00152 LsapLookupXForestReferral, 00153 LsapLookupXForestResolve, 00154 LsapLookupRODCReferralToFullDC, 00155 } LSAP_LOOKUP_LEVEL, *PLSAP_LOOKUP_LEVEL; 00156 00157 typedef struct _LSAPR_SID_INFORMATION { 00158 PRPC_SID Sid; 00159 } LSAPR_SID_INFORMATION, *PLSAPR_SID_INFORMATION; 00160 00161 typedef struct _LSAPR_SID_ENUM_BUFFER { 00162 DWORD Entries; 00163 [size_is(Entries)] PLSAPR_SID_INFORMATION SidInfo; 00164 } LSAPR_SID_ENUM_BUFFER, *PLSAPR_SID_ENUM_BUFFER; 00165 00166 typedef struct _LSAPR_TRANSLATED_NAME { 00167 SID_NAME_USE Use; 00168 RPC_UNICODE_STRING Name; 00169 LONG DomainIndex; 00170 } LSAPR_TRANSLATED_NAME, *PLSAPR_TRANSLATED_NAME; 00171 00172 typedef struct _LSAPR_TRANSLATED_NAMES { 00173 DWORD Entries; 00174 [size_is(Entries)] PLSAPR_TRANSLATED_NAME Names; 00175 } LSAPR_TRANSLATED_NAMES, *PLSAPR_TRANSLATED_NAMES; 00176 00177 typedef struct _LSAPR_TRANSLATED_NAME_EX { 00178 SID_NAME_USE Use; 00179 RPC_UNICODE_STRING Name; 00180 LONG DomainIndex; 00181 DWORD Flags; 00182 } LSAPR_TRANSLATED_NAME_EX, *PLSAPR_TRANSLATED_NAME_EX; 00183 00184 typedef struct _LSAPR_TRANSLATED_NAMES_EX { 00185 DWORD Entries; 00186 [size_is(Entries)] PLSAPR_TRANSLATED_NAME_EX Names; 00187 } LSAPR_TRANSLATED_NAMES_EX, *PLSAPR_TRANSLATED_NAMES_EX; 00188 00189 typedef struct _LSAPR_TRANSLATED_SID_EX { 00190 SID_NAME_USE Use; 00191 DWORD RelativeId; 00192 LONG DomainIndex; 00193 DWORD Flags; 00194 } LSAPR_TRANSLATED_SID_EX, *PLSAPR_TRANSLATED_SID_EX; 00195 00196 typedef struct _LSAPR_TRANSLATED_SIDS_EX { 00197 DWORD Entries; 00198 [size_is(Entries)] PLSAPR_TRANSLATED_SID_EX Sids; 00199 } LSAPR_TRANSLATED_SIDS_EX, *PLSAPR_TRANSLATED_SIDS_EX; 00200 00201 typedef struct _LSAPR_TRANSLATED_SID_EX2 { 00202 SID_NAME_USE Use; 00203 PRPC_SID Sid; 00204 LONG DomainIndex; 00205 DWORD Flags; 00206 } LSAPR_TRANSLATED_SID_EX2, *PLSAPR_TRANSLATED_SID_EX2; 00207 00208 typedef struct _LSAPR_TRANSLATED_SIDS_EX2 { 00209 DWORD Entries; 00210 [size_is(Entries)] PLSAPR_TRANSLATED_SID_EX2 Sids; 00211 } LSAPR_TRANSLATED_SIDS_EX2, *PLSAPR_TRANSLATED_SIDS_EX2; 00212 00213 typedef LSAPR_TRUST_INFORMATION LSAPR_TRUSTED_DOMAIN_INFORMATION_BASIC; 00214 00215 typedef struct _LSAPR_SR_SECURITY_DESCRIPTOR { 00216 DWORD Length; 00217 [size_is(Length)] BYTE *SecurityDescriptor; 00218 } LSAPR_SR_SECURITY_DESCRIPTOR, *PLSAPR_SR_SECURITY_DESCRIPTOR; 00219 00220 cpp_quote("#ifndef _NTSECAPI_H") 00221 typedef enum _POLICY_INFORMATION_CLASS { 00222 PolicyAuditLogInformation = 1, 00223 PolicyAuditEventsInformation, 00224 PolicyPrimaryDomainInformation, 00225 PolicyPdAccountInformation, 00226 PolicyAccountDomainInformation, 00227 PolicyLsaServerRoleInformation, 00228 PolicyReplicaSourceInformation, 00229 PolicyDefaultQuotaInformation, 00230 PolicyModificationInformation, 00231 PolicyAuditFullSetInformation, 00232 PolicyAuditFullQueryInformation, 00233 PolicyDnsDomainInformation, 00234 PolicyDnsDomainInformationInt, 00235 PolicyLocalAccountDomainInformation, 00236 PolicyLastEntry, 00237 } POLICY_INFORMATION_CLASS, *PPOLICY_INFORMATION_CLASS; 00238 00239 typedef struct _POLICY_AUDIT_LOG_INFO { 00240 DWORD AuditLogPercentFull; 00241 DWORD MaximumLogSize; 00242 LARGE_INTEGER AuditRetentionPeriod; 00243 BYTE AuditLogFullShutdownInProgress; 00244 LARGE_INTEGER TimeToShutdown; 00245 DWORD NextAuditRecordId; 00246 } POLICY_AUDIT_LOG_INFO, *PPOLICY_AUDIT_LOG_INFO; 00247 cpp_quote("#endif") 00248 00249 typedef struct _LSAPR_POLICY_AUDIT_EVENTS_INFO { 00250 BYTE AuditingMode; 00251 [size_is(MaximumAuditEventCount)] DWORD *EventAuditingOptions; 00252 DWORD MaximumAuditEventCount; 00253 } LSAPR_POLICY_AUDIT_EVENTS_INFO, *PLSAPR_POLICY_AUDIT_EVENTS_INFO; 00254 00255 typedef struct _LSAPR_POLICY_PRIMARY_DOM_INFO { 00256 RPC_UNICODE_STRING Name; 00257 PRPC_SID Sid; 00258 } LSAPR_POLICY_PRIMARY_DOM_INFO, *PLSAPR_POLICY_PRIMARY_DOM_INFO; 00259 00260 typedef struct _LSAPR_POLICY_ACCOUNT_DOM_INFO { 00261 RPC_UNICODE_STRING DomainName; 00262 PRPC_SID Sid; 00263 } LSAPR_POLICY_ACCOUNT_DOM_INFO, *PLSAPR_POLICY_ACCOUNT_DOM_INFO; 00264 00265 typedef struct _LSAPR_POLICY_PD_ACCOUNT_INFO { 00266 RPC_UNICODE_STRING Name; 00267 } LSAPR_POLICY_PD_ACCOUNT_INFO, *PLSAPR_POLICY_PD_ACCOUNT_INFO; 00268 00269 cpp_quote("#ifndef _NTSECAPI_H") 00270 typedef enum _POLICY_LSA_SERVER_ROLE { 00271 PolicyServerRoleBackup = 2, 00272 PolicyServerRolePrimary, 00273 } POLICY_LSA_SERVER_ROLE, *PPOLICY_LSA_SERVER_ROLE; 00274 00275 typedef struct _POLICY_LSA_SERVER_ROLE_INFO { 00276 POLICY_LSA_SERVER_ROLE LsaServerRole; 00277 } POLICY_LSA_SERVER_ROLE_INFO, *PPOLICY_LSA_SERVER_ROLE_INFO; 00278 cpp_quote("#endif") 00279 00280 typedef struct _POLICY_LSA_REPLICA_SRCE_INFO { 00281 RPC_UNICODE_STRING ReplicaSource; 00282 RPC_UNICODE_STRING ReplicaAccountName; 00283 } POLICY_LSA_REPLICA_SRCE_INFO, *PPOLICY_LSA_REPLICA_SRCE_INFO; 00284 00285 cpp_quote("#ifndef _WINNT_H") 00286 typedef struct _QUOTA_LIMITS { 00287 INT64 PagedPoolLimit; 00288 INT64 NonPagedPoolLimit; 00289 INT64 MinimumWorkingSetSize; 00290 INT64 MaximumWorkingSetSize; 00291 INT64 PagefileLimit; 00292 LARGE_INTEGER TimeLimit; 00293 } QUOTA_LIMITS, *PQUOTA_LIMITS; 00294 cpp_quote("#endif") 00295 00296 cpp_quote("#ifndef _NTSECAPI_H") 00297 typedef struct _POLICY_DEFAULT_QUOTA_INFO { 00298 QUOTA_LIMITS QuotaLimits; 00299 } POLICY_DEFAULT_QUOTA_INFO, *PPOLICY_DEFAULT_QUOTA_INFO; 00300 00301 typedef struct _POLICY_MODIFICATION_INFO { 00302 LARGE_INTEGER ModifiedId; 00303 LARGE_INTEGER DatabaseCreationTime; 00304 } POLICY_MODIFICATION_INFO, *PPOLICY_MODIFICATION_INFO; 00305 00306 typedef struct _POLICY_AUDIT_FULL_SET_INFO { 00307 BOOL ShutDownOnFull; 00308 } POLICY_AUDIT_FULL_SET_INFO, *PPOLICY_AUDIT_FULL_SET_INFO; 00309 00310 typedef struct _POLICY_AUDIT_FULL_QUERY_INFO { 00311 BOOL ShutDownOnFull; 00312 BOOL LogIsFull; 00313 } POLICY_AUDIT_FULL_QUERY_INFO, *PPOLICY_AUDIT_FULL_QUERY_INFO; 00314 cpp_quote("#endif") 00315 00316 typedef struct _LSAPR_POLICY_DNS_DOMAIN_INFO { 00317 RPC_UNICODE_STRING Name; 00318 RPC_UNICODE_STRING DnsDomainName; 00319 RPC_UNICODE_STRING DnsForestName; 00320 GUID DomainGuid; 00321 PRPC_SID Sid; 00322 } LSAPR_POLICY_DNS_DOMAIN_INFO, *PLSAPR_POLICY_DNS_DOMAIN_INFO; 00323 00324 typedef 00325 [switch_type(POLICY_INFORMATION_CLASS)] union _LSAPR_POLICY_INFORMATION { 00326 [case(PolicyAuditLogInformation)] POLICY_AUDIT_LOG_INFO PolicyAuditLogInfo; 00327 [case(PolicyAuditEventsInformation)] LSAPR_POLICY_AUDIT_EVENTS_INFO PolicyAuditEventsInfo; 00328 [case(PolicyPrimaryDomainInformation)] LSAPR_POLICY_PRIMARY_DOM_INFO PolicyPrimaryDomInfo; 00329 [case(PolicyPdAccountInformation)] LSAPR_POLICY_PD_ACCOUNT_INFO PolicyPdAccountInfo; 00330 [case(PolicyAccountDomainInformation)] LSAPR_POLICY_ACCOUNT_DOM_INFO PolicyAccountDomainInfo; 00331 [case(PolicyLsaServerRoleInformation)] POLICY_LSA_SERVER_ROLE_INFO PolicyServerRoleInfo; 00332 [case(PolicyReplicaSourceInformation)] POLICY_LSA_REPLICA_SRCE_INFO PolicyReplicaSourceInfo; 00333 [case(PolicyDefaultQuotaInformation)] POLICY_DEFAULT_QUOTA_INFO PolicyDefaultQuotaInfo; 00334 [case(PolicyModificationInformation)] POLICY_MODIFICATION_INFO PolicyModificationInfo; 00335 [case(PolicyAuditFullSetInformation)] POLICY_AUDIT_FULL_SET_INFO PolicyAuditFullSetInfo; 00336 [case(PolicyAuditFullQueryInformation)] POLICY_AUDIT_FULL_QUERY_INFO PolicyAuditFullQueryInfo; 00337 [case(PolicyDnsDomainInformation)] LSAPR_POLICY_DNS_DOMAIN_INFO PolicyDnsDomainInfo; 00338 [case(PolicyDnsDomainInformationInt)] LSAPR_POLICY_DNS_DOMAIN_INFO PolicyDnsDomainInfoInt; 00339 [case(PolicyLocalAccountDomainInformation)] LSAPR_POLICY_ACCOUNT_DOM_INFO PolicyLocalAccountDomainInfo; 00340 } LSAPR_POLICY_INFORMATION, *PLSAPR_POLICY_INFORMATION; 00341 00342 typedef struct _LSAPR_TRUSTED_ENUM_BUFFER { 00343 DWORD EntriesRead; 00344 [size_is(EntriesRead)] PLSAPR_TRUST_INFORMATION Information; 00345 } LSAPR_TRUSTED_ENUM_BUFFER, *PLSAPR_TRUSTED_ENUM_BUFFER; 00346 00347 cpp_quote("#ifndef _NTSECAPI_H") 00348 typedef enum _TRUSTED_INFORMATION_CLASS { 00349 TrustedDomainNameInformation = 1, 00350 TrustedControllersInformation, 00351 TrustedPosixOffsetInformation, 00352 TrustedPasswordInformation, 00353 TrustedDomainInformationBasic, 00354 TrustedDomainInformationEx, 00355 TrustedDomainAuthInformation, 00356 TrustedDomainFullInformation, 00357 TrustedDomainAuthInformationInternal, 00358 TrustedDomainFullInformationInternal, 00359 TrustedDomainInformationEx2Internal, 00360 TrustedDomainFullInformation2Internal, 00361 TrustedDomainSupportedEncryptionTypes, 00362 } TRUSTED_INFORMATION_CLASS, *PTRUSTED_INFORMATION_CLASS; 00363 cpp_quote("#endif") 00364 00365 typedef struct _LSAPR_TRUSTED_DOMAIN_NAME_INFO { 00366 RPC_UNICODE_STRING Name; 00367 } LSAPR_TRUSTED_DOMAIN_NAME_INFO, *PLSAPR_TRUSTED_DOMAIN_NAME_INFO; 00368 00369 typedef struct _LSAPR_TRUSTED_CONTROLLERS_INFO { 00370 DWORD Entries; 00371 [size_is(Entries)] PRPC_UNICODE_STRING Names; 00372 } LSAPR_TRUSTED_CONTROLLERS_INFO, *PLSAPR_TRUSTED_CONTROLLERS_INFO; 00373 00374 cpp_quote("#ifndef _NTSECAPI_H") 00375 typedef struct _TRUSTED_POSIX_OFFSET_INFO { 00376 DWORD Offset; 00377 } TRUSTED_POSIX_OFFSET_INFO, *PTRUSTED_POSIX_OFFSET_INFO; 00378 cpp_quote("#endif") 00379 00380 typedef struct _LSAPR_CR_CIPHER_VALUE { 00381 DWORD Length; 00382 DWORD MaximumLength; 00383 [size_is(MaximumLength), length_is(Length)] BYTE *Buffer; 00384 } LSAPR_CR_CIPHER_VALUE, *PLSAPR_CR_CIPHER_VALUE; 00385 00386 typedef struct _LSAPR_TRUSTED_PASSWORD_INFO { 00387 PLSAPR_CR_CIPHER_VALUE Password; 00388 PLSAPR_CR_CIPHER_VALUE OldPassword; 00389 } LSAPR_TRUSTED_PASSWORD_INFO, *PLSAPR_TRUSTED_PASSWORD_INFO; 00390 00391 typedef struct _LSAPR_USER_RIGHT_SET { 00392 DWORD Entries; 00393 [size_is(Entries)] PRPC_UNICODE_STRING UserRights; 00394 } LSAPR_USER_RIGHT_SET, *PLSAPR_USER_RIGHT_SET; 00395 00396 cpp_quote("#ifndef _NTSECAPI_H") 00397 typedef enum _POLICY_DOMAIN_INFORMATION_CLASS { 00398 PolicyDomainQualityOfServiceInformation = 1, 00399 PolicyDomainEfsInformation = 2, 00400 PolicyDomainKerberosTicketInformation = 3, 00401 } POLICY_DOMAIN_INFORMATION_CLASS, *PPOLICY_DOMAIN_INFORMATION_CLASS; 00402 00403 typedef struct _POLICY_DOMAIN_QUALITY_OF_SERVICE_INFO { 00404 DWORD QualityOfService; 00405 } POLICY_DOMAIN_QUALITY_OF_SERVICE_INFO, *PPOLICY_DOMAIN_QUALITY_OF_SERVICE_INFO; 00406 cpp_quote("#endif") 00407 00408 typedef struct _LSAPR_POLICY_DOMAIN_EFS_INFO { 00409 DWORD InfoLength; 00410 [size_is(InfoLength)] BYTE *EfsBlob; 00411 } LSAPR_POLICY_DOMAIN_EFS_INFO, *PLSAPR_POLICY_DOMAIN_EFS_INFO; 00412 00413 cpp_quote("#ifndef _NTSECAPI_H") 00414 typedef struct _POLICY_DOMAIN_KERBEROS_TICKET_INFO { 00415 DWORD AuthenticationOptions; 00416 LARGE_INTEGER MaxServiceTicketAge; 00417 LARGE_INTEGER MaxTicketAge; 00418 LARGE_INTEGER MaxRenewAge; 00419 LARGE_INTEGER MaxClockSkew; 00420 LARGE_INTEGER Reserved; 00421 } POLICY_DOMAIN_KERBEROS_TICKET_INFO, *PPOLICY_DOMAIN_KERBEROS_TICKET_INFO; 00422 cpp_quote("#endif") 00423 00424 typedef 00425 [switch_type(POLICY_DOMAIN_INFORMATION_CLASS)] union _LSAPR_POLICY_DOMAIN_INFORMATION { 00426 [case(PolicyDomainQualityOfServiceInformation)] POLICY_DOMAIN_QUALITY_OF_SERVICE_INFO PolicyDomainQualityOfServiceInfo; 00427 [case(PolicyDomainEfsInformation)] LSAPR_POLICY_DOMAIN_EFS_INFO PolicyDomainEfsInfo; 00428 [case(PolicyDomainKerberosTicketInformation)] POLICY_DOMAIN_KERBEROS_TICKET_INFO PolicyDomainKerbTicketInfo; 00429 } LSAPR_POLICY_DOMAIN_INFORMATION, *PLSAPR_POLICY_DOMAIN_INFORMATION; 00430 00431 typedef struct _LSAPR_TRUSTED_DOMAIN_INFORMATION_EX { 00432 RPC_UNICODE_STRING Name; 00433 RPC_UNICODE_STRING FlatName; 00434 PRPC_SID Sid; 00435 DWORD TrustDirection; 00436 DWORD TrustType; 00437 DWORD TrustAttributes; 00438 } LSAPR_TRUSTED_DOMAIN_INFORMATION_EX, *PLSAPR_TRUSTED_DOMAIN_INFORMATION_EX; 00439 00440 typedef struct _LSAPR_TRUSTED_ENUM_BUFFER_EX { 00441 DWORD EntriesRead; 00442 [size_is(EntriesRead)] PLSAPR_TRUSTED_DOMAIN_INFORMATION_EX EnumerationBuffer; 00443 } LSAPR_TRUSTED_ENUM_BUFFER_EX, *PLSAPR_TRUSTED_ENUM_BUFFER_EX; 00444 00445 typedef struct _LSAPR_TRUSTED_DOMAIN_INFORMATION_EX2 { 00446 RPC_UNICODE_STRING Name; 00447 RPC_UNICODE_STRING FlatName; 00448 PRPC_SID Sid; 00449 DWORD TrustDirection; 00450 DWORD TrustType; 00451 DWORD TrustAttributes; 00452 DWORD ForestTrustLength; 00453 [size_is(ForestTrustLength)] BYTE *ForestTrustInfo; 00454 } LSAPR_TRUSTED_DOMAIN_INFORMATION_EX2, *PLSAPR_TRUSTED_DOMAIN_INFORMATION_EX2; 00455 00456 typedef struct _LSAPR_AUTH_INFORMATION { 00457 LARGE_INTEGER LastUpdateTime; 00458 DWORD AuthType; 00459 DWORD AuthInfoLength; 00460 [size_is(AuthInfoLength)] BYTE *AuthInfo; 00461 } LSAPR_AUTH_INFORMATION, *PLSAPR_AUTH_INFORMATION; 00462 00463 typedef struct _LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION { 00464 DWORD IncomingAuthInfos; 00465 PLSAPR_AUTH_INFORMATION IncomingAuthenticationInformation; 00466 PLSAPR_AUTH_INFORMATION IncomingPreviousAuthenticationInformation; 00467 DWORD OutgoingAuthInfos; 00468 PLSAPR_AUTH_INFORMATION OutgoingAuthenticationInformation; 00469 PLSAPR_AUTH_INFORMATION OutgoingPreviousAuthenticationInformation; 00470 } LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION, *PLSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION; 00471 00472 typedef struct _LSAPR_TRUSTED_DOMAIN_AUTH_BLOB { 00473 DWORD AuthSize; 00474 [size_is(AuthSize)] BYTE *AuthBlob; 00475 } LSAPR_TRUSTED_DOMAIN_AUTH_BLOB, *PLSAPR_TRUSTED_DOMAIN_AUTH_BLOB; 00476 00477 typedef struct _LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL { 00478 LSAPR_TRUSTED_DOMAIN_AUTH_BLOB AuthBlob; 00479 } LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL, *PLSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL; 00480 00481 typedef struct _LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION { 00482 LSAPR_TRUSTED_DOMAIN_INFORMATION_EX Information; 00483 TRUSTED_POSIX_OFFSET_INFO PosixOffset; 00484 LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION AuthInformation; 00485 } LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION, *PLSAPR_TRUSTED_DOMAIN_FULL_INFORMATION; 00486 00487 typedef struct _LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION_INTERNAL { 00488 LSAPR_TRUSTED_DOMAIN_INFORMATION_EX Information; 00489 TRUSTED_POSIX_OFFSET_INFO PosixOffset; 00490 LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL AuthInformation; 00491 } LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION_INTERNAL, *PLSAPR_TRUSTED_DOMAIN_FULL_INFORMATION_INTERNAL; 00492 00493 typedef struct _LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION2 { 00494 LSAPR_TRUSTED_DOMAIN_INFORMATION_EX2 Information; 00495 TRUSTED_POSIX_OFFSET_INFO PosixOffset; 00496 LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION AuthInformation; 00497 } LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION2, *PLSAPR_TRUSTED_DOMAIN_FULL_INFORMATION2; 00498 00499 typedef struct _TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES { 00500 DWORD SupportedEncryptionTypes; 00501 } TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES, *PTRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES; 00502 00503 typedef 00504 [switch_type(TRUSTED_INFORMATION_CLASS)] union _LSAPR_TRUSTED_DOMAIN_INFO { 00505 [case(TrustedDomainNameInformation)] LSAPR_TRUSTED_DOMAIN_NAME_INFO TrustedDomainNameInfo; 00506 [case(TrustedControllersInformation)] LSAPR_TRUSTED_CONTROLLERS_INFO TrustedControllersInfo; 00507 [case(TrustedPosixOffsetInformation)] TRUSTED_POSIX_OFFSET_INFO TrustedPosixOffsetInfo; 00508 [case(TrustedPasswordInformation)] LSAPR_TRUSTED_PASSWORD_INFO TrustedPasswordInfo; 00509 [case(TrustedDomainInformationBasic)] LSAPR_TRUSTED_DOMAIN_INFORMATION_BASIC TrustedDomainInfoBasic; 00510 [case(TrustedDomainInformationEx)] LSAPR_TRUSTED_DOMAIN_INFORMATION_EX TrustedDomainInfoEx; 00511 [case(TrustedDomainAuthInformation)] LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION TrustedAuthInfo; 00512 [case(TrustedDomainFullInformation)] LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION TrustedFullInfo; 00513 [case(TrustedDomainAuthInformationInternal)] LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL TrustedAuthInfoInternal; 00514 [case(TrustedDomainFullInformationInternal)] LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION_INTERNAL TrustedFullInfoInternal; 00515 [case(TrustedDomainInformationEx2Internal)] LSAPR_TRUSTED_DOMAIN_INFORMATION_EX2 TrustedDomainInfoEx2; 00516 [case(TrustedDomainFullInformation2Internal)] LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION2 TrustedFullInfo2; 00517 [case(TrustedDomainSupportedEncryptionTypes)] TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES TrustedDomainSETs; 00518 } LSAPR_TRUSTED_DOMAIN_INFO, *PLSAPR_TRUSTED_DOMAIN_INFO; 00519 00520 typedef struct _LSAPR_LUID_AND_ATTRIBUTES { 00521 LUID Luid; 00522 DWORD Attributes; 00523 } LSAPR_LUID_AND_ATTRIBUTES, *PLSAPR_LUID_AND_ATTRIBUTES; 00524 00525 typedef struct _LSAPR_PRIVILEGE_SET { 00526 DWORD PrivilegeCount; 00527 DWORD Control; 00528 [size_is(PrivilegeCount)] LSAPR_LUID_AND_ATTRIBUTES Privilege[*]; 00529 } LSAPR_PRIVILEGE_SET, *PLSAPR_PRIVILEGE_SET; 00530 00531 cpp_quote("#ifndef _NTSECAPI_H") 00532 typedef enum _LSA_FOREST_TRUST_RECORD_TYPE { 00533 ForestTrustTopLevelName = 0, 00534 ForestTrustTopLevelNameEx = 1, 00535 ForestTrustDomainInfo = 2, 00536 } LSA_FOREST_TRUST_RECORD_TYPE; 00537 00538 typedef struct _LSA_FOREST_TRUST_BINARY_DATA { 00539 DWORD Length; 00540 [size_is(Length)] BYTE *Buffer; 00541 } LSA_FOREST_TRUST_BINARY_DATA, *PLSA_FOREST_TRUST_BINARY_DATA; 00542 00543 typedef struct _LSA_FOREST_TRUST_DOMAIN_INFO { 00544 PRPC_SID Sid; 00545 LSA_UNICODE_STRING DnsName; 00546 LSA_UNICODE_STRING NetbiosName; 00547 } LSA_FOREST_TRUST_DOMAIN_INFO, *PLSA_FOREST_TRUST_DOMAIN_INFO; 00548 00549 typedef struct _LSA_FOREST_TRUST_RECORD { 00550 DWORD Flags; 00551 LSA_FOREST_TRUST_RECORD_TYPE ForestTrustType; 00552 LARGE_INTEGER Time; 00553 [switch_type(LSA_FOREST_TRUST_RECORD_TYPE), switch_is(ForestTrustType)] union { 00554 [case(ForestTrustTopLevelName, ForestTrustTopLevelNameEx)] LSA_UNICODE_STRING TopLevelName; 00555 [case(ForestTrustDomainInfo)] LSA_FOREST_TRUST_DOMAIN_INFO DomainInfo; 00556 [default] LSA_FOREST_TRUST_BINARY_DATA Data; 00557 } ForestTrustData; 00558 } LSA_FOREST_TRUST_RECORD, *PLSA_FOREST_TRUST_RECORD; 00559 00560 typedef struct _LSA_FOREST_TRUST_INFORMATION { 00561 DWORD RecordCount; 00562 [size_is(RecordCount)] PLSA_FOREST_TRUST_RECORD *Entries; 00563 } LSA_FOREST_TRUST_INFORMATION, *PLSA_FOREST_TRUST_INFORMATION; 00564 00565 typedef enum _LSA_FOREST_TRUST_COLLISION_RECORD_TYPE { 00566 CollisionTdo = 0, 00567 CollisionXref, 00568 CollisionOther, 00569 } LSA_FOREST_TRUST_COLLISION_RECORD_TYPE; 00570 00571 typedef struct _LSA_FOREST_TRUST_COLLISION_RECORD { 00572 DWORD Index; 00573 LSA_FOREST_TRUST_COLLISION_RECORD_TYPE Type; 00574 DWORD Flags; 00575 LSA_UNICODE_STRING Name; 00576 } LSA_FOREST_TRUST_COLLISION_RECORD, *PLSA_FOREST_TRUST_COLLISION_RECORD; 00577 00578 typedef struct _LSA_FOREST_TRUST_COLLISION_INFORMATION { 00579 DWORD RecordCount; 00580 [size_is(RecordCount)] PLSA_FOREST_TRUST_COLLISION_RECORD *Entries; 00581 } LSA_FOREST_TRUST_COLLISION_INFORMATION, *PLSA_FOREST_TRUST_COLLISION_INFORMATION; 00582 cpp_quote("#endif") 00583 00584 [ 00585 uuid(12345778-1234-abcd-ef00-0123456789ab), 00586 version(0.0), 00587 pointer_default(unique), 00588 endpoint("ncacn_np:[\\pipe\\lsarpc]") 00589 #ifndef __midl 00590 ,explicit_handle 00591 #endif 00592 ] 00593 interface lsarpc 00594 { 00595 /* Function 0 */ 00596 NTSTATUS __stdcall LsarClose( 00597 [in, out] LSAPR_HANDLE *ObjectHandle); 00598 00599 /* Function 1 */ 00600 NTSTATUS __stdcall LsarDelete( 00601 [in] LSAPR_HANDLE ObjectHandle); 00602 00603 /* Function 2 */ 00604 NTSTATUS __stdcall LsarEnumeratePrivileges( 00605 [in] LSAPR_HANDLE PolicyHandle, 00606 [in, out] DWORD *EnumerationContext, 00607 [out] PLSAPR_PRIVILEGE_ENUM_BUFFER EnumerationBuffer, 00608 [in] DWORD PreferedMaximumLength); 00609 00610 /* Function 3 */ 00611 NTSTATUS __stdcall LsarQuerySecurityObject( 00612 [in] LSAPR_HANDLE ObjectHandle, 00613 [in] SECURITY_INFORMATION SecurityInformation, 00614 [out] PLSAPR_SR_SECURITY_DESCRIPTOR *SecurityDescriptor); 00615 00616 /* Function 4 */ 00617 NTSTATUS __stdcall LsarSetSecurityObject( 00618 [in] LSAPR_HANDLE ObjectHandle, 00619 [in] SECURITY_INFORMATION SecurityInformation, 00620 [in] PLSAPR_SR_SECURITY_DESCRIPTOR SecurityDescriptor); 00621 00622 /* Function 5 */ 00623 NTSTATUS __stdcall LsarChangePassword( 00624 [in] PRPC_UNICODE_STRING String1, 00625 [in] PRPC_UNICODE_STRING String2, 00626 [in] PRPC_UNICODE_STRING String3, 00627 [in] PRPC_UNICODE_STRING String4, 00628 [in] PRPC_UNICODE_STRING String5); 00629 00630 /* Function 6 */ 00631 NTSTATUS __stdcall LsarOpenPolicy( 00632 [in, unique] PLSAPR_SERVER_NAME SystemName, 00633 [in] PLSAPR_OBJECT_ATTRIBUTES ObjectAttributes, 00634 [in] ACCESS_MASK DesiredAccess, 00635 [out] LSAPR_HANDLE *PolicyHandle); 00636 00637 /* Function 7 */ 00638 NTSTATUS __stdcall LsarQueryInformationPolicy( 00639 [in] LSAPR_HANDLE PolicyHandle, 00640 [in] POLICY_INFORMATION_CLASS InformationClass, 00641 [out, switch_is(InformationClass)] PLSAPR_POLICY_INFORMATION *PolicyInformation); 00642 00643 /* Function 8 */ 00644 NTSTATUS __stdcall LsarSetInformationPolicy( 00645 [in] LSAPR_HANDLE PolicyHandle, 00646 [in] POLICY_INFORMATION_CLASS InformationClass, 00647 [in, switch_is(InformationClass)] PLSAPR_POLICY_INFORMATION PolicyInformation); 00648 00649 /* Function 9 */ 00650 NTSTATUS __stdcall LsarClearAuditLog( 00651 [in] LSAPR_HANDLE ObjectHandle); 00652 00653 /* Function 10 */ 00654 NTSTATUS __stdcall LsarCreateAccount( 00655 [in] LSAPR_HANDLE PolicyHandle, 00656 [in] PRPC_SID AccountSid, 00657 [in] ACCESS_MASK DesiredAccess, 00658 [out] LSAPR_HANDLE *AccountHandle); 00659 00660 /* Function 11 */ 00661 NTSTATUS __stdcall LsarEnumerateAccounts( 00662 [in] LSAPR_HANDLE PolicyHandle, 00663 [in, out] DWORD *EnumerationContext, 00664 [out] PLSAPR_ACCOUNT_ENUM_BUFFER EnumerationBuffer, 00665 [in] DWORD PreferedMaximumLength); 00666 00667 /* Function 12 */ 00668 NTSTATUS __stdcall LsarCreateTrustedDomain( 00669 [in] LSAPR_HANDLE PolicyHandle, 00670 [in] PLSAPR_TRUST_INFORMATION TrustedDomainInformation, 00671 [in] ACCESS_MASK DesiredAccess, 00672 [out] LSAPR_HANDLE *TrustedDomainHandle); 00673 00674 /* Function 13 */ 00675 NTSTATUS __stdcall LsarEnumerateTrustedDomains( 00676 [in] LSAPR_HANDLE PolicyHandle, 00677 [in, out] DWORD *EnumerationContext, 00678 [out] PLSAPR_TRUSTED_ENUM_BUFFER EnumerationBuffer, 00679 [in] DWORD PreferedMaximumLength); 00680 00681 /* Function 14 */ 00682 NTSTATUS __stdcall LsarLookupNames( 00683 [in] LSAPR_HANDLE PolicyHandle, 00684 [in] DWORD Count, 00685 [in, size_is(Count)] PRPC_UNICODE_STRING Names, 00686 [out] PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains, 00687 [in, out] PLSAPR_TRANSLATED_SIDS TranslatedSids, 00688 [in] LSAP_LOOKUP_LEVEL LookupLevel, 00689 [in, out] DWORD *MappedCount); 00690 00691 /* Function 15 */ 00692 NTSTATUS __stdcall LsarLookupSids( 00693 [in] LSAPR_HANDLE PolicyHandle, 00694 [in] PLSAPR_SID_ENUM_BUFFER SidEnumBuffer, 00695 [out] PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains, 00696 [in, out] PLSAPR_TRANSLATED_NAMES TranslatedNames, 00697 [in] LSAP_LOOKUP_LEVEL LookupLevel, 00698 [in, out] DWORD *MappedCount); 00699 00700 /* Function 16 */ 00701 NTSTATUS __stdcall LsarCreateSecret( 00702 [in] LSAPR_HANDLE PolicyHandle, 00703 [in] PRPC_UNICODE_STRING SecretName, 00704 [in] ACCESS_MASK DesiredAccess, 00705 [out] LSAPR_HANDLE *SecretHandle); 00706 00707 /* Function 17 */ 00708 NTSTATUS __stdcall LsarOpenAccount( 00709 [in] LSAPR_HANDLE PolicyHandle, 00710 [in] PRPC_SID AccountSid, 00711 [in] ACCESS_MASK DesiredAccess, 00712 [out] LSAPR_HANDLE *AccountHandle); 00713 00714 /* Function 18 */ 00715 NTSTATUS __stdcall LsarEnumeratePrivilegesAccount( 00716 [in] LSAPR_HANDLE AccountHandle, 00717 [out] PLSAPR_PRIVILEGE_SET *Privileges); 00718 00719 /* Function 19 */ 00720 NTSTATUS __stdcall LsarAddPrivilegesToAccount( 00721 [in] LSAPR_HANDLE AccountHandle, 00722 [in] PLSAPR_PRIVILEGE_SET Privileges); 00723 00724 /* Function 20 */ 00725 NTSTATUS __stdcall LsarRemovePrivilegesFromAccount( 00726 [in] LSAPR_HANDLE AccountHandle, 00727 [in] BOOL AllPrivileges, 00728 [in, unique] PLSAPR_PRIVILEGE_SET Privileges); 00729 00730 /* Function 21 */ 00731 NTSTATUS __stdcall LsarGetQuotasForAccount( 00732 [in] LSAPR_HANDLE AccountHandle, 00733 [out] PQUOTA_LIMITS QuotaLimits); 00734 00735 /* Function 22 */ 00736 NTSTATUS __stdcall LsarSetQuotasForAccount( 00737 [in] LSAPR_HANDLE AccountHandle, 00738 [in] PQUOTA_LIMITS QuotaLimits); 00739 00740 /* Function 23 */ 00741 NTSTATUS __stdcall LsarGetSystemAccessAccount( 00742 [in] LSAPR_HANDLE AccountHandle, 00743 [out] ACCESS_MASK *SystemAccess); 00744 00745 /* Function 24 */ 00746 NTSTATUS __stdcall LsarSetSystemAccessAccount( 00747 [in] LSAPR_HANDLE AccountHandle, 00748 [in] ACCESS_MASK SystemAccess); 00749 00750 /* Function 25 */ 00751 NTSTATUS __stdcall LsarOpenTrustedDomain( 00752 [in] LSAPR_HANDLE PolicyHandle, 00753 [in] PRPC_SID TrustedDomainSid, 00754 [in] ACCESS_MASK DesiredAccess, 00755 [out] LSAPR_HANDLE *TrustedDomainHandle); 00756 00757 /* Function 26 */ 00758 NTSTATUS __stdcall LsarQueryInfoTrustedDomain( 00759 [in] LSAPR_HANDLE TrustedDomainHandle, 00760 [in] TRUSTED_INFORMATION_CLASS InformationClass, 00761 [out, switch_is(InformationClass)] PLSAPR_TRUSTED_DOMAIN_INFO *TrustedDomainInformation); 00762 00763 /* Function 27 */ 00764 NTSTATUS __stdcall LsarSetInformationTrustedDomain( 00765 [in] LSAPR_HANDLE TrustedDomainHandle, 00766 [in] TRUSTED_INFORMATION_CLASS InformationClass, 00767 [in, switch_is(InformationClass)] PLSAPR_TRUSTED_DOMAIN_INFO TrustedDomainInformation); 00768 00769 /* Function 28 */ 00770 NTSTATUS __stdcall LsarOpenSecret( 00771 [in] LSAPR_HANDLE PolicyHandle, 00772 [in] PRPC_UNICODE_STRING SecretName, 00773 [in] ACCESS_MASK DesiredAccess, 00774 [out] LSAPR_HANDLE *SecretHandle); 00775 00776 /* Function 29 */ 00777 NTSTATUS __stdcall LsarSetSecret( 00778 [in] LSAPR_HANDLE *SecretHandle, 00779 [in, unique] PLSAPR_CR_CIPHER_VALUE EncryptedCurrentValue, 00780 [in, unique] PLSAPR_CR_CIPHER_VALUE EncryptedOldValue); 00781 00782 /* Function 30 */ 00783 NTSTATUS __stdcall LsarQuerySecret( 00784 [in] LSAPR_HANDLE SecretHandle, 00785 [in, out, unique] PLSAPR_CR_CIPHER_VALUE *EncryptedCurrentValue, 00786 [in, out, unique] PLARGE_INTEGER CurrentValueSetTime, 00787 [in, out, unique] PLSAPR_CR_CIPHER_VALUE *EncryptedOldValue, 00788 [in, out, unique] PLARGE_INTEGER OldValueSetTime); 00789 00790 /* Function 31 */ 00791 NTSTATUS __stdcall LsarLookupPrivilegeValue( 00792 [in] LSAPR_HANDLE PolicyHandle, 00793 [in] PRPC_UNICODE_STRING Name, 00794 [out] PLUID Value); 00795 00796 /* Function 32 */ 00797 NTSTATUS __stdcall LsarLookupPrivilegeName( 00798 [in] LSAPR_HANDLE PolicyHandle, 00799 [in] PLUID Value, 00800 [out] PRPC_UNICODE_STRING *Name); 00801 00802 /* Function 33 */ 00803 NTSTATUS __stdcall LsarLookupPrivilegeDisplayName( 00804 [in] LSAPR_HANDLE PolicyHandle, 00805 [in] PRPC_UNICODE_STRING Name, 00806 [in] USHORT ClientLanguage, 00807 [in] USHORT ClientSystemDefaultLanguage, 00808 [out] PRPC_UNICODE_STRING *DisplayName, 00809 [out] USHORT *LanguageReturned); 00810 00811 /* Function 34 */ 00812 NTSTATUS __stdcall LsarDeleteObject( 00813 [in, out] LSAPR_HANDLE *ObjectHandle); 00814 00815 cpp_quote("#if _WIN32_WINNT >= 0x0351") 00816 00817 /* Function 35 */ 00818 NTSTATUS __stdcall LsarEnumerateAccountsWithUserRight( 00819 [in] LSAPR_HANDLE PolicyHandle, 00820 [in, unique] PRPC_UNICODE_STRING UserRight, 00821 [out] PLSAPR_ACCOUNT_ENUM_BUFFER EnumerationBuffer); 00822 00823 /* Function 36 */ 00824 NTSTATUS __stdcall LsarEnmuerateAccountRights( 00825 [in] LSAPR_HANDLE PolicyHandle, 00826 [in] PRPC_SID AccountSid, 00827 [out] PLSAPR_USER_RIGHT_SET UserRights); 00828 00829 /* Function 37 */ 00830 NTSTATUS __stdcall LsarAddAccountRights( 00831 [in] LSAPR_HANDLE PolicyHandle, 00832 [in] PRPC_SID AccountSid, 00833 [in] PLSAPR_USER_RIGHT_SET UserRights); 00834 00835 /* Function 38 */ 00836 NTSTATUS __stdcall LsarRemoveAccountRights( 00837 [in] LSAPR_HANDLE PolicyHandle, 00838 [in] PRPC_SID AccountSid, 00839 [in] BOOL AllRights, 00840 [in] PLSAPR_USER_RIGHT_SET UserRights); 00841 00842 /* Function 39 */ 00843 NTSTATUS __stdcall LsarQueryTrustedDomainInfo( 00844 [in] LSAPR_HANDLE PolicyHandle, 00845 [in] PRPC_SID TrustedDomainSid, 00846 [in] TRUSTED_INFORMATION_CLASS InformationClass, 00847 [out, switch_is(InformationClass)] PLSAPR_TRUSTED_DOMAIN_INFO *TrustedDomainInformation); 00848 00849 /* Function 40 */ 00850 NTSTATUS __stdcall LsarSetTrustedDomainInfo( 00851 [in] LSAPR_HANDLE PolicyHandle, 00852 [in] PRPC_SID TrustedDomainSid, 00853 [in] TRUSTED_INFORMATION_CLASS InformationClass, 00854 [in, switch_is(InformationClass)] PLSAPR_TRUSTED_DOMAIN_INFO TrustedDomainInformation); 00855 00856 /* Function 41 */ 00857 NTSTATUS __stdcall LsarDeleteTrustedDomain( 00858 [in] LSAPR_HANDLE PolicyHandle, 00859 [in] PRPC_SID TrustedDomainSid); 00860 00861 /* Function 42 */ 00862 NTSTATUS __stdcall LsarStorePrivateData( 00863 [in] LSAPR_HANDLE PolicyHandle, 00864 [in] PRPC_UNICODE_STRING KeyName, 00865 [in, unique] PLSAPR_CR_CIPHER_VALUE EncryptedData); 00866 00867 /* Function 43 */ 00868 NTSTATUS __stdcall LsarRetrievePrivateData( 00869 [in] LSAPR_HANDLE PolicyHandle, 00870 [in] PRPC_UNICODE_STRING KeyName, 00871 [in, out] PLSAPR_CR_CIPHER_VALUE *EncryptedData); 00872 00873 /* Function 44 */ 00874 NTSTATUS __stdcall LsarOpenPolicy2( 00875 [in, unique, string] PLSAPR_SERVER_NAME SystemName, 00876 [in] PLSAPR_OBJECT_ATTRIBUTES ObjectAttributes, 00877 [in] ACCESS_MASK DesiredAccess, 00878 [out] LSAPR_HANDLE *PolicyHandle); 00879 00880 /* Function 45 */ 00881 NTSTATUS __stdcall LsarGetUserName( 00882 [in, unique, string] PLSAPR_SERVER_NAME SystemName, 00883 [in, out] PRPC_UNICODE_STRING *UserName, 00884 [in, out, unique] PRPC_UNICODE_STRING *DomainName); 00885 00886 cpp_quote("#if _WIN32_WINNT >= 0x0500") 00887 00888 /* Function 46 */ 00889 NTSTATUS __stdcall LsarQueryInformationPolicy2( 00890 [in] LSAPR_HANDLE PolicyHandle, 00891 [in] POLICY_INFORMATION_CLASS InformationClass, 00892 [out] unsigned long *PolicyInformation); 00893 /* FIXME: should be [out, switch_is(InformationClass)] PLSAPR_POLICY_INFORMATION *PolicyInformation); */ 00894 00895 /* Function 47 */ 00896 NTSTATUS __stdcall LsarSetInformationPolicy2( 00897 [in] LSAPR_HANDLE PolicyHandle, 00898 [in] POLICY_INFORMATION_CLASS InformationClass, 00899 [in] unsigned long PolicyInformation); 00900 /* FIXME: should be [in, switch_is(InformationClass)] PLSAPR_POLICY_INFORMATION PolicyInformation); */ 00901 00902 /* Function 48 */ 00903 NTSTATUS __stdcall LsarQueryTrustedDomainInfoByName( 00904 [in] LSAPR_HANDLE PolicyHandle, 00905 [in] PRPC_UNICODE_STRING TrustedDomainName, 00906 [in] POLICY_INFORMATION_CLASS InformationClass, 00907 [out] unsigned long *PolicyInformation); 00908 /* FIXME: should be [out, switch_is(InformationClass)] PLSAPR_POLICY_INFORMATION *PolicyInformation); */ 00909 00910 /* Function 49 */ 00911 NTSTATUS __stdcall LsarSetTrustedDomainInfoByName( 00912 [in] LSAPR_HANDLE PolicyHandle, 00913 [in] PRPC_UNICODE_STRING TrustedDomainName, 00914 [in] POLICY_INFORMATION_CLASS InformationClass, 00915 [in] unsigned long PolicyInformation); 00916 /* FIXME: should be [in, switch_is(InformationClass)] PLSAPR_POLICY_INFORMATION PolicyInformation); */ 00917 00918 /* Function 50 */ 00919 NTSTATUS __stdcall LsarEnumerateTrustedDomainsEx( 00920 [in] LSAPR_HANDLE PolicyHandle, 00921 [in, out] DWORD *EnumerationContext, 00922 [out] PLSAPR_TRUSTED_ENUM_BUFFER_EX EnumerationBuffer, 00923 [in] DWORD PreferedMaximumLength); 00924 00925 /* Function 51 */ 00926 NTSTATUS __stdcall LsarCreateTrustedDomainEx( 00927 [in] LSAPR_HANDLE PolicyHandle, 00928 [in] PLSAPR_TRUSTED_DOMAIN_INFORMATION_EX TrustedDomainInformation, 00929 [in] PLSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION AuthentificationInformation, 00930 [in] ACCESS_MASK DesiredAccess, 00931 [out] LSAPR_HANDLE *TrustedDomainHandle); 00932 00933 /* Function 52 */ 00934 NTSTATUS __stdcall LsarSetPolicyReplicationHandle( 00935 [in, out] PLSAPR_HANDLE PolicyHandle); 00936 00937 /* Function 53 */ 00938 NTSTATUS __stdcall LsarQueryDomainInformationPolicy( 00939 [in] LSAPR_HANDLE PolicyHandle, 00940 [in] POLICY_INFORMATION_CLASS InformationClass, 00941 [out] unsigned long *PolicyInformation); 00942 /* FIXME: should be [out, switch_is(InformationClass)] PLSAPR_POLICY_INFORMATION *PolicyInformation); */ 00943 00944 /* Function 54 */ 00945 NTSTATUS __stdcall LsarSetDomainInformationPolicy( 00946 [in] LSAPR_HANDLE PolicyHandle, 00947 [in] POLICY_INFORMATION_CLASS InformationClass, 00948 [in] unsigned long PolicyInformation); 00949 /* FIXME: should be [in, switch_is(InformationClass)] PLSAPR_POLICY_INFORMATION PolicyInformation); */ 00950 00951 /* Function 55 */ 00952 NTSTATUS __stdcall LsarOpenTrustedDomainByName( 00953 [in] LSAPR_HANDLE PolicyHandle, 00954 [in] PRPC_UNICODE_STRING TrustedDomainName, 00955 [in] ACCESS_MASK DesiredAccess, 00956 [out] LSAPR_HANDLE *TrustedDomainHandle); 00957 00958 /* Function 56 */ 00959 NTSTATUS __stdcall LsarTestCall( 00960 [in] handle_t hBinding); /* FIXME */ 00961 00962 /* Function 57 */ 00963 NTSTATUS __stdcall LsarLookupSids2( 00964 [in] LSAPR_HANDLE PolicyHandle, 00965 [in] PLSAPR_SID_ENUM_BUFFER SidEnumBuffer, 00966 [out] PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains, 00967 [in, out] PLSAPR_TRANSLATED_NAMES_EX TranslatedNames, 00968 [in] LSAP_LOOKUP_LEVEL LookupLevel, 00969 [in, out] DWORD *MappedCount, 00970 [in] DWORD LookupOptions, 00971 [in] DWORD ClientRevision); 00972 00973 /* Function 58 */ 00974 NTSTATUS __stdcall LsarLookupNames2( 00975 [in] LSAPR_HANDLE PolicyHandle, 00976 [in] DWORD Count, 00977 [in, size_is(Count)] PRPC_UNICODE_STRING Names, 00978 [out] PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains, 00979 [in, out] PLSAPR_TRANSLATED_SIDS_EX TranslatedSids, 00980 [in] LSAP_LOOKUP_LEVEL LookupLevel, 00981 [in, out] DWORD *MappedCount, 00982 [in] DWORD LookupOptions, 00983 [in] DWORD ClientRevision); 00984 00985 /* Function 59 */ 00986 NTSTATUS __stdcall LsarCreateTrustedDomainEx2( 00987 [in] LSAPR_HANDLE PolicyHandle, 00988 [in] PLSAPR_TRUSTED_DOMAIN_INFORMATION_EX TrustedDomainInformation, 00989 [in] PLSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL AuthentificationInformation, 00990 [in] ACCESS_MASK DesiredAccess, 00991 [out] LSAPR_HANDLE *TrustedDomainHandle); 00992 00993 cpp_quote("#if _WIN32_WINNT >= 0x0501") 00994 00995 /* Function 60 */ 00996 NTSTATUS __stdcall CredrWrite( 00997 [in] handle_t hBinding); /* FIXME */ 00998 00999 /* Function 61 */ 01000 NTSTATUS __stdcall CredrRead( 01001 [in] handle_t hBinding); /* FIXME */ 01002 01003 /* Function 62 */ 01004 NTSTATUS __stdcall CredrEnumerate( 01005 [in] handle_t hBinding); /* FIXME */ 01006 01007 /* Function 63 */ 01008 NTSTATUS __stdcall CredrWriteDomainCredentials( 01009 [in] handle_t hBinding); /* FIXME */ 01010 01011 /* Function 64 */ 01012 NTSTATUS __stdcall CredrReadDomainCredentials( 01013 [in] handle_t hBinding); /* FIXME */ 01014 01015 /* Function 65 */ 01016 NTSTATUS __stdcall CredrDelete( 01017 [in] handle_t hBinding); /* FIXME */ 01018 01019 /* Function 66 */ 01020 NTSTATUS __stdcall CredrGetTargetInfo( 01021 [in] handle_t hBinding); /* FIXME */ 01022 01023 /* Function 67 */ 01024 NTSTATUS __stdcall CredrProfileLoaded( 01025 [in] handle_t hBinding); /* FIXME */ 01026 01027 /* Function 68 */ 01028 NTSTATUS __stdcall LsarLookupNames3( 01029 [in] LSAPR_HANDLE PolicyHandle, 01030 [in] DWORD Count, 01031 [in, size_is(Count)] PRPC_UNICODE_STRING Names, 01032 [out] PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains, 01033 [in, out] PLSAPR_TRANSLATED_SIDS_EX2 TranslatedSids, 01034 [in] LSAP_LOOKUP_LEVEL LookupLevel, 01035 [in, out] DWORD *MappedCount, 01036 [in] DWORD LookupOptions, 01037 [in] DWORD ClientRevision); 01038 01039 /* Function 69 */ 01040 NTSTATUS __stdcall CredrGetSessionTypes( 01041 [in] handle_t hBinding); /* FIXME */ 01042 01043 /* Function 70 */ 01044 NTSTATUS __stdcall LsarRegisterAuditEvent( 01045 [in] handle_t hBinding); /* FIXME */ 01046 01047 /* Function 71 */ 01048 NTSTATUS __stdcall LsarGenAuditEvent( 01049 [in] handle_t hBinding); /* FIXME */ 01050 01051 /* Function 72 */ 01052 NTSTATUS __stdcall LsarUnregisterAuditEvent( 01053 [in] handle_t hBinding); /* FIXME */ 01054 01055 /* Function 73 */ 01056 NTSTATUS __stdcall LsarQueryForestTrustInformation( 01057 [in] LSAPR_HANDLE PolicyHandle, 01058 [in] PLSA_UNICODE_STRING TrustedDomainName, 01059 [in] LSA_FOREST_TRUST_RECORD_TYPE HighestRecordType, 01060 [out] PLSA_FOREST_TRUST_INFORMATION *ForestTrustInfo); 01061 01062 /* Function 74 */ 01063 NTSTATUS __stdcall LsarSetForestTrustInformation( 01064 [in] LSAPR_HANDLE PolicyHandle, 01065 [in] PLSA_UNICODE_STRING TrustedDomainName, 01066 [in] LSA_FOREST_TRUST_RECORD_TYPE HighestRecordType, 01067 [in] PLSA_FOREST_TRUST_INFORMATION ForestTrustInfo, 01068 [in] BOOL CheckOnly, 01069 [out] PLSA_FOREST_TRUST_COLLISION_INFORMATION *CollisionInfo); 01070 01071 /* Function 75 */ 01072 NTSTATUS __stdcall CredrRename( 01073 [in] handle_t hBinding); /* FIXME */ 01074 01075 /* Function 76 */ 01076 NTSTATUS __stdcall LsarLookupSids3( 01077 [in] LSAPR_HANDLE PolicyHandle, 01078 [in] PLSAPR_SID_ENUM_BUFFER SidEnumBuffer, 01079 [out] PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains, 01080 [in, out] PLSAPR_TRANSLATED_NAMES_EX TranslatedNames, 01081 [in] LSAP_LOOKUP_LEVEL LookupLevel, 01082 [in, out] DWORD *MappedCount, 01083 [in] DWORD LookupOptions, 01084 [in] DWORD ClientRevision); 01085 01086 /* Function 77 */ 01087 NTSTATUS __stdcall LsarLookupNames4( 01088 [in] LSAPR_HANDLE PolicyHandle, 01089 [in] DWORD Count, 01090 [in, size_is(Count)] PRPC_UNICODE_STRING Names, 01091 [out] PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains, 01092 [in, out] PLSAPR_TRANSLATED_SIDS_EX2 TranslatedSids, 01093 [in] LSAP_LOOKUP_LEVEL LookupLevel, 01094 [in, out] DWORD *MappedCount, 01095 [in] DWORD LookupOptions, 01096 [in] DWORD ClientRevision); 01097 01098 /* Function 78 */ 01099 NTSTATUS __stdcall LsarOpenPolicySce( 01100 [in] handle_t hBinding); /* FIXME */ 01101 01102 /* Function 79 */ 01103 NTSTATUS __stdcall LsarAdtRegisterSecurityEventSource( 01104 [in] handle_t hBinding); /* FIXME */ 01105 01106 /* Function 80 */ 01107 NTSTATUS __stdcall LsarAdtUnregisterSecurityEventSource( 01108 [in] handle_t hBinding); /* FIXME */ 01109 01110 /* Function 81 */ 01111 NTSTATUS __stdcall LsarAdtReportSecurityEvent( 01112 [in] handle_t hBinding); /* FIXME */ 01113 01114 cpp_quote("#endif /* _WIN32_WINNT >= 0x0501 */") 01115 cpp_quote("#endif /* _WIN32_WINNT >= 0x0500 */") 01116 cpp_quote("#endif /* _WIN32_WINNT >= 0x0351 */") 01117 01118 } Generated on Sun May 27 2012 04:33:09 for ReactOS by
1.7.6.1
|