[SAMLIB]
[reactos.git] / reactos / include / ddk / ntsam.h
1
2 #ifndef _NTSAM_
3 #define _NTSAM_
4
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
8
9 #define SAM_SERVER_CONNECT 1
10 #define SAM_SERVER_SHUTDOWN 2
11 #define SAM_SERVER_INITIALIZE 4
12 #define SAM_SERVER_CREATE_DOMAIN 8
13 #define SAM_SERVER_ENUMERATE_DOMAINS 16
14 #define SAM_SERVER_LOOKUP_DOMAIN 32
15
16
17 typedef PVOID SAM_HANDLE, *PSAM_HANDLE;
18
19 NTSTATUS
20 NTAPI
21 SamCloseHandle(IN SAM_HANDLE SamHandle);
22
23 NTSTATUS
24 NTAPI
25 SamConnect(IN OUT PUNICODE_STRING ServerName,
26 OUT PSAM_HANDLE ServerHandle,
27 IN ACCESS_MASK DesiredAccess,
28 IN POBJECT_ATTRIBUTES ObjectAttributes);
29
30 NTSTATUS
31 NTAPI
32 SamCreateUserInDomain(IN SAM_HANDLE DomainHandle,
33 IN PUNICODE_STRING AccountName,
34 IN ACCESS_MASK DesiredAccess,
35 OUT PSAM_HANDLE UserHandle,
36 OUT PULONG RelativeId);
37
38 NTSTATUS
39 NTAPI
40 SamOpenDomain(IN SAM_HANDLE ServerHandle,
41 IN ACCESS_MASK DesiredAccess,
42 IN PSID DomainId,
43 OUT PSAM_HANDLE DomainHandle);
44
45 NTSTATUS
46 NTAPI
47 SamShutdownSamServer(IN SAM_HANDLE ServerHandle);
48
49
50 #ifdef __cplusplus
51 }
52 #endif
53
54 #endif /* _NTSAM_ */