Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

155 lines
3.4 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1995.
  5. //
  6. // File: mapsam.h
  7. //
  8. // Contents:
  9. //
  10. // Classes:
  11. //
  12. // Functions:
  13. //
  14. // History: 10-17-96 RichardW Created
  15. //
  16. //----------------------------------------------------------------------------
  17. #ifndef __MAPSAM_H__
  18. #define __MAPSAM_H__
  19. BOOL
  20. SslInitSam(
  21. VOID
  22. );
  23. NTSTATUS
  24. SslGetPacForUser(
  25. IN PUNICODE_STRING AlternateName,
  26. IN BOOL AllowGuest,
  27. OUT PUCHAR * pPacData,
  28. OUT PULONG pPacDataSize
  29. );
  30. NTSTATUS
  31. SslCreateTokenFromPac(
  32. IN PUCHAR MarshalledPac,
  33. IN ULONG MarshalledPacSize,
  34. IN PUNICODE_STRING AccountDomain,
  35. OUT PLUID NewLogonId,
  36. OUT PHANDLE Token
  37. );
  38. typedef
  39. NTSTATUS (NTAPI * SAMICONNECT) (
  40. IN PSAMPR_SERVER_NAME ServerName,
  41. OUT SAMPR_HANDLE *ServerHandle,
  42. IN ACCESS_MASK DesiredAccess,
  43. IN BOOLEAN TrustedClient
  44. );
  45. typedef
  46. NTSTATUS (NTAPI * SAMRCLOSEHANDLE)(
  47. IN SAMPR_HANDLE * Handle);
  48. typedef
  49. NTSTATUS (NTAPI * SAMRQUERYINFORMATIONUSER)(
  50. IN SAMPR_HANDLE Handle,
  51. IN USER_INFORMATION_CLASS Class,
  52. OUT PSAMPR_USER_INFO_BUFFER * Buffer);
  53. typedef
  54. NTSTATUS (NTAPI * SAMRGETGROUPSFORUSER)(
  55. IN SAMPR_HANDLE Handle,
  56. OUT PSAMPR_GET_GROUPS_BUFFER * Groups);
  57. typedef
  58. NTSTATUS
  59. (NTAPI * SAMROPENUSER)(
  60. IN SAMPR_HANDLE Handle,
  61. IN ACCESS_MASK DesiredAccess,
  62. IN ULONG Rid,
  63. OUT SAMPR_HANDLE * UserHandle);
  64. typedef
  65. NTSTATUS (NTAPI * SAMROPENDOMAIN)(
  66. IN SAMPR_HANDLE Handle,
  67. IN ACCESS_MASK DesiredAccess,
  68. IN PRPC_SID DomainId,
  69. OUT SAMPR_HANDLE * DomainHandle );
  70. NTSTATUS
  71. SamIOpenUserByAlternateId(
  72. IN SAMPR_HANDLE DomainHandle,
  73. IN ACCESS_MASK DesiredAccess,
  74. IN PUNICODE_STRING AlternateId,
  75. OUT SAMPR_HANDLE * UserHandle );
  76. typedef
  77. NTSTATUS (NTAPI * SAMIOPENUSERBYALTERNATEID)(
  78. IN SAMPR_HANDLE DomainHandle,
  79. IN ACCESS_MASK DesiredAccess,
  80. IN PUNICODE_STRING AlternateId,
  81. OUT SAMPR_HANDLE * UserHandle );
  82. typedef
  83. VOID (NTAPI * SAMIFREE_SAMPR_GET_GROUPS_BUFFER)(
  84. PSAMPR_GET_GROUPS_BUFFER Source
  85. );
  86. typedef
  87. VOID (NTAPI * SAMIFREE_SAMPR_USER_INFO_BUFFER)(
  88. PSAMPR_USER_INFO_BUFFER Source,
  89. USER_INFORMATION_CLASS Branch
  90. );
  91. //
  92. // LSA
  93. //
  94. typedef
  95. NTSTATUS (NTAPI * LSAIOPENPOLICYTRUSTED)(
  96. OUT PLSAPR_HANDLE PolicyHandle);
  97. typedef
  98. NTSTATUS (NTAPI * LSARQUERYINFORMATIONPOLICY)(
  99. LSAPR_HANDLE Handle,
  100. POLICY_INFORMATION_CLASS Class,
  101. PLSAPR_POLICY_INFORMATION * Info);
  102. typedef
  103. NTSTATUS (NTAPI * LSARCLOSE)(
  104. LSAPR_HANDLE * Handle);
  105. typedef
  106. VOID (NTAPI * LSAIFREE_LSAPR_POLICY_INFORMATION)(
  107. POLICY_INFORMATION_CLASS Class,
  108. PLSAPR_POLICY_INFORMATION Info);
  109. extern SAMICONNECT pSamIConnect ;
  110. extern SAMROPENDOMAIN pSamrOpenDomain ;
  111. extern SAMRCLOSEHANDLE pSamrCloseHandle ;
  112. extern SAMRQUERYINFORMATIONUSER pSamrQueryInformationUser ;
  113. extern SAMRGETGROUPSFORUSER pSamrGetGroupsForUser ;
  114. extern SAMROPENUSER pSamrOpenUser ;
  115. extern SAMIOPENUSERBYALTERNATEID pSamrOpenUserByAlternateId ;
  116. extern SAMIFREE_SAMPR_GET_GROUPS_BUFFER pSamIFree_SAMPR_GET_GROUPS_BUFFER ;
  117. extern SAMIFREE_SAMPR_USER_INFO_BUFFER pSamIFree_SAMPR_USER_INFO_BUFFER ;
  118. extern LSAIOPENPOLICYTRUSTED pLsaIOpenPolicyTrusted ;
  119. extern LSARQUERYINFORMATIONPOLICY pLsarQueryInformationPolicy ;
  120. extern LSARCLOSE pLsarClose ;
  121. extern LSAIFREE_LSAPR_POLICY_INFORMATION pLsaIFree_LSAPR_POLICY_INFORMATION ;
  122. #endif // __MAPSAM_H__