ReactOS  0.4.14-dev-838-g99f979d
precomp.h File Reference
#include <stdarg.h>
#include <windef.h>
#include <winbase.h>
#include <winerror.h>
#include <winreg.h>
#include <winsvc.h>
#include <lmcons.h>
#include <lmerr.h>
#include <lmjoin.h>
#include <lmserver.h>
#include <ntsecapi.h>
#include <ndk/rtlfuncs.h>
#include <wkssvc_s.h>
#include <wine/debug.h>
Include dependency graph for precomp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define WIN32_NO_STATUS
 
#define _INC_WINDOWS
 
#define COM_NO_WINDOWS_H
 

Functions

NET_API_STATUS NetpJoinWorkgroup (_In_ LPCWSTR WorkgroupName)
 
NET_API_STATUS NetpGetJoinInformation (LPWSTR *NameBuffer, PNETSETUP_JOIN_STATUS BufferType)
 
DWORD WINAPI RpcThreadRoutine (LPVOID lpParameter)
 

Macro Definition Documentation

◆ _INC_WINDOWS

#define _INC_WINDOWS

Definition at line 5 of file precomp.h.

◆ COM_NO_WINDOWS_H

#define COM_NO_WINDOWS_H

Definition at line 6 of file precomp.h.

◆ WIN32_NO_STATUS

#define WIN32_NO_STATUS

Definition at line 4 of file precomp.h.

Function Documentation

◆ NetpGetJoinInformation()

NET_API_STATUS NetpGetJoinInformation ( LPWSTR NameBuffer,
PNETSETUP_JOIN_STATUS  BufferType 
)

Definition at line 71 of file domain.c.

74 {
76  PPOLICY_PRIMARY_DOMAIN_INFO PrimaryDomainInfo = NULL;
77  LSA_HANDLE PolicyHandle = NULL;
79 
80  *BufferType = NetSetupUnknownStatus;
81  *NameBuffer = NULL;
82 
85 
89  &PolicyHandle);
90  if (!LSA_SUCCESS(Status))
92 
93  Status = LsaQueryInformationPolicy(PolicyHandle,
95  (PVOID*)&PrimaryDomainInfo);
96  if (LSA_SUCCESS(Status))
97  {
98  TRACE("Sid: %p\n", PrimaryDomainInfo->Sid);
99  TRACE("Name: %S\n", PrimaryDomainInfo->Name.Buffer);
100 
101  if (PrimaryDomainInfo->Name.Length > 0)
102  {
103  if (PrimaryDomainInfo->Sid != NULL)
104  *BufferType = NetSetupDomainName;
105  else
106  *BufferType = NetSetupWorkgroupName;
107 
108  *NameBuffer = midl_user_allocate(PrimaryDomainInfo->Name.Length + sizeof(WCHAR));
109  if (*NameBuffer)
110  wcscpy(*NameBuffer, PrimaryDomainInfo->Name.Buffer);
111  }
112  else
113  {
114  *BufferType = NetSetupUnjoined;
115  }
116 
117  if (PrimaryDomainInfo->Sid)
118  LsaFreeMemory(PrimaryDomainInfo->Sid);
119 
120  LsaFreeMemory(PrimaryDomainInfo);
121  }
122 
123  LsaClose(PolicyHandle);
124 
126 }
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:35
NTSTATUS WINAPI LsaQueryInformationPolicy(IN LSA_HANDLE PolicyHandle, IN POLICY_INFORMATION_CLASS InformationClass, OUT PVOID *Buffer)
Definition: lsa.c:1471
#define midl_user_allocate
Definition: rpc.h:44
#define POLICY_VIEW_LOCAL_INFORMATION
Definition: ntsecapi.h:61
LONG NTSTATUS
Definition: precomp.h:26
NTSTATUS WINAPI LsaClose(IN LSA_HANDLE ObjectHandle)
Definition: lsa.c:192
#define ZeroMemory
Definition: winbase.h:1642
NTSTATUS WINAPI LsaOpenPolicy(IN PLSA_UNICODE_STRING SystemName OPTIONAL, IN PLSA_OBJECT_ATTRIBUTES ObjectAttributes, IN ACCESS_MASK DesiredAccess, OUT PLSA_HANDLE PolicyHandle)
Definition: lsa.c:1181
LSA_UNICODE_STRING Name
Definition: ntsecapi.h:567
smooth NULL
Definition: ftsmooth.c:416
NTSTATUS WINAPI LsaFreeMemory(IN PVOID Buffer)
Definition: lsa.c:699
#define LSA_SUCCESS(x)
Definition: ntsecapi.h:23
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
ULONG WINAPI LsaNtStatusToWinError(IN NTSTATUS Status)
Definition: lsa.c:1129
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
struct _LSA_OBJECT_ATTRIBUTES LSA_OBJECT_ATTRIBUTES
Status
Definition: gdiplustypes.h:24

Referenced by NetrGetJoinInformation().

◆ NetpJoinWorkgroup()

NET_API_STATUS NetpJoinWorkgroup ( _In_ LPCWSTR  WorkgroupName)

Definition at line 52 of file domain.c.

54 {
56 
57  FIXME("NetpJoinWorkgroup(%S)\n", lpWorkgroupName);
58 
59  status = NetpSetPrimaryDomain(lpWorkgroupName);
60  if (status != NERR_Success)
61  {
62  ERR("NetpSetPrimaryDomain failed (Status %lu)\n", status);
63  return status;
64  }
65 
66  return NERR_Success;
67 }
#define NERR_Success
Definition: lmerr.h:5
#define FIXME(fmt,...)
Definition: debug.h:110
DWORD NET_API_STATUS
Definition: ms-dtyp.idl:91
#define ERR(fmt,...)
Definition: debug.h:109
static NET_API_STATUS NetpSetPrimaryDomain(_In_ LPCWSTR lpWorkgroupName)
Definition: domain.c:19
static SERVICE_STATUS status
Definition: service.c:31
Definition: ps.c:97

Referenced by NetrJoinDomain2().

◆ RpcThreadRoutine()

DWORD WINAPI RpcThreadRoutine ( LPVOID  lpParameter)

Definition at line 16 of file rpcserver.c.

17 {
19 
20  Status = RpcServerUseProtseqEpW(L"ncalrpc", 20, L"DNSResolver", NULL);
21  if (Status != RPC_S_OK)
22  {
23  DPRINT("RpcServerUseProtseqEpW() failed (Status %lx)\n", Status);
24  return 0;
25  }
26 
27  Status = RpcServerRegisterIf(DnsResolver_v2_0_s_ifspec, NULL, NULL);
28  if (Status != RPC_S_OK)
29  {
30  DPRINT("RpcServerRegisterIf() failed (Status %lx)\n", Status);
31  return 0;
32  }
33 
35  if (Status != RPC_S_OK)
36  {
37  DPRINT("RpcServerListen() failed (Status %lx)\n", Status);
38  }
39 
40  DPRINT("RpcServerListen finished\n");
41  return 0;
42 }
long RPC_STATUS
Definition: rpc.h:52
RPC_STATUS WINAPI RpcServerListen(UINT MinimumCallThreads, UINT MaxCalls, UINT DontWait)
Definition: rpc_server.c:1520
#define RPC_C_LISTEN_MAX_CALLS_DEFAULT
Definition: rpcdce.h:122
smooth NULL
Definition: ftsmooth.c:416
void DPRINT(...)
Definition: polytest.cpp:61
RPC_STATUS WINAPI RpcServerRegisterIf(RPC_IF_HANDLE IfSpec, UUID *MgrTypeUuid, RPC_MGR_EPV *MgrEpv)
Definition: rpc_server.c:1116
static const WCHAR L[]
Definition: oid.c:1250
Status
Definition: gdiplustypes.h:24
RPC_STATUS WINAPI RpcServerUseProtseqEpW(RPC_WSTR Protseq, UINT MaxCalls, RPC_WSTR Endpoint, LPVOID SecurityDescriptor)
Definition: rpc_server.c:927
#define RPC_S_OK
Definition: rpcnterr.h:22