ReactOS  0.4.12-dev-57-g7050ac4
rpcserver.c
Go to the documentation of this file.
1 /*
2  * ReactOS Services
3  * Copyright (C) 2015 ReactOS Team
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 /*
20  * COPYRIGHT: See COPYING in the top level directory
21  * PROJECT: ReactOS Services
22  * FILE: base/services/srvsvc/rpcserver.c
23  * PURPOSE: Server service
24  * PROGRAMMER: Eric Kohl
25  */
26 
27 /* INCLUDES *****************************************************************/
28 
29 #include "precomp.h"
30 
31 #include "ndk/kefuncs.h"
32 #include "ndk/rtlfuncs.h"
33 #include "winerror.h"
34 #include "lmerr.h"
35 
37 
38 /* FUNCTIONS *****************************************************************/
39 
40 DWORD
41 WINAPI
44 {
46 
47  Status = RpcServerUseProtseqEpW(L"ncacn_np", 20, L"\\pipe\\srvsvc", NULL);
48  if (Status != RPC_S_OK)
49  {
50  ERR("RpcServerUseProtseqEpW() failed (Status %lx)\n", Status);
51  return 0;
52  }
53 
54  Status = RpcServerRegisterIf(srvsvc_v3_0_s_ifspec, NULL, NULL);
55  if (Status != RPC_S_OK)
56  {
57  ERR("RpcServerRegisterIf() failed (Status %lx)\n", Status);
58  return 0;
59  }
60 
62  if (Status != RPC_S_OK)
63  {
64  ERR("RpcServerListen() failed (Status %lx)\n", Status);
65  }
66 
67  return 0;
68 }
69 
70 
72 {
74 }
75 
76 
78 {
79  HeapFree(GetProcessHeap(), 0, ptr);
80 }
81 
82 
84 {
85 }
86 
87 
88 /* Function 0 */
89 void
92 {
94 }
95 
96 
97 /* Function 1 */
98 void
101 {
103 }
104 
105 
106 /* Function 2 */
107 void
108 __stdcall
110 {
112 }
113 
114 
115 /* Function 3 */
116 void
117 __stdcall
119 {
121 }
122 
123 
124 /* Function 4 */
125 void
126 __stdcall
128 {
130 }
131 
132 /* Function 5 */
133 void
134 __stdcall
136 {
138 }
139 
140 
141 /* Function 6 */
142 void
143 __stdcall
145 {
147 }
148 
149 
150 /* Function 7 */
151 void
152 __stdcall
154 {
156 }
157 
158 
159 /* Function 8 */
161 __stdcall
163  SRVSVC_HANDLE ServerName,
164  WCHAR *Qualifier,
165  LPCONNECT_ENUM_STRUCT InfoStruct,
166  DWORD PreferedMaximumLength,
167  DWORD *TotalEntries,
168  DWORD *ResumeHandle)
169 {
171  return 0;
172 }
173 
174 
175 /* Function 9 */
177 __stdcall
179  SRVSVC_HANDLE ServerName,
180  WCHAR *BasePath,
181  WCHAR *UserName,
182  PFILE_ENUM_STRUCT InfoStruct,
183  DWORD PreferedMaximumLength,
184  DWORD *TotalEntries,
185  DWORD *ResumeHandle)
186 {
188  return 0;
189 }
190 
191 
192 /* Function 10 */
194 __stdcall
196  SRVSVC_HANDLE ServerName,
197  DWORD FileId,
198  DWORD Level,
199  LPFILE_INFO InfoStruct)
200 {
202  return 0;
203 }
204 
205 
206 /* Function 11 */
208 __stdcall
210  SRVSVC_HANDLE ServerName,
211  DWORD FileId)
212 {
214  return 0;
215 }
216 
217 
218 /* Function 12 */
220 __stdcall
222  SRVSVC_HANDLE ServerName,
223  WCHAR *ClientName,
224  WCHAR *UserName,
225  PSESSION_ENUM_STRUCT InfoStruct,
226  DWORD PreferedMaximumLength,
227  DWORD *TotalEntries,
228  DWORD *ResumeHandle)
229 {
231  return 0;
232 }
233 
234 
235 /* Function 13 */
237 __stdcall
239  SRVSVC_HANDLE ServerName,
240  WCHAR *ClientName,
241  WCHAR *UserName)
242 {
245 }
246 
247 
248 /* Function 14 */
250 __stdcall
252  SRVSVC_HANDLE ServerName,
253  DWORD Level,
254  LPSHARE_INFO InfoStruct,
255  DWORD *ParmErr)
256 {
259 }
260 
261 
262 /* Function 15 */
264 __stdcall
266  SRVSVC_HANDLE ServerName,
267  LPSHARE_ENUM_STRUCT InfoStruct,
268  DWORD PreferedMaximumLength,
269  DWORD *TotalEntries,
270  DWORD *ResumeHandle)
271 {
274 }
275 
276 
277 /* Function 16 */
279 __stdcall
281  SRVSVC_HANDLE ServerName,
282  WCHAR *NetName,
283  DWORD Level,
284  LPSHARE_INFO InfoStruct)
285 {
288 }
289 
290 
291 /* Function 17 */
293 __stdcall
295  SRVSVC_HANDLE ServerName,
296  WCHAR *NetName,
297  DWORD Level,
298  LPSHARE_INFO ShareInfo,
299  DWORD *ParmErr)
300 {
303 }
304 
305 
306 /* Function 18 */
308 __stdcall
310  SRVSVC_HANDLE ServerName,
311  WCHAR *NetName,
312  DWORD Reserved)
313 {
316 }
317 
318 
319 /* Function 19 */
321 __stdcall
323  SRVSVC_HANDLE ServerName,
324  WCHAR *NetName,
325  DWORD Reserved)
326 {
329 }
330 
331 
332 /* Function 20 */
334 __stdcall
336  SRVSVC_HANDLE ServerName,
337  WCHAR *Device,
338  DWORD *Type)
339 {
342 }
343 
344 
345 /* Function 21 */
347 __stdcall
349  SRVSVC_HANDLE ServerName,
350  DWORD Level,
351  LPSERVER_INFO *InfoStruct)
352 {
353  WCHAR szComputerName[MAX_COMPUTERNAME_LENGTH + 1];
354  DWORD dwComputerNameLength, dwSize;
355  PSERVER_INFO pServerInfo = NULL;
356  OSVERSIONINFOW VersionInfo;
357 
358  TRACE("NetrServerGetInfo(%p %lu %p)\n",
359  ServerName, Level, InfoStruct);
360 
361  dwComputerNameLength = MAX_COMPUTERNAME_LENGTH + 1;
362  GetComputerNameW(szComputerName, &dwComputerNameLength);
363  dwComputerNameLength++; /* include NULL terminator */
364 
365  VersionInfo.dwOSVersionInfoSize = sizeof(VersionInfo);
366  GetVersionExW(&VersionInfo);
367 
368  switch (Level)
369  {
370  case 100:
371  dwSize = sizeof(SERVER_INFO_100) +
372  dwComputerNameLength * sizeof(WCHAR);
373  pServerInfo = midl_user_allocate(dwSize);
374  if (pServerInfo == NULL)
376 
378  pServerInfo->ServerInfo100.sv100_name = (LPWSTR)((ULONG_PTR)pServerInfo + sizeof(SERVER_INFO_100));
379  wcscpy(pServerInfo->ServerInfo100.sv100_name, szComputerName);
380 
381  *InfoStruct = pServerInfo;
382  break;
383 
384  case 101:
385  dwSize = sizeof(SERVER_INFO_101) +
386  dwComputerNameLength * sizeof(WCHAR);
387  pServerInfo = midl_user_allocate(dwSize);
388  if (pServerInfo == NULL)
390 
392  pServerInfo->ServerInfo101.sv101_name = (LPWSTR)((ULONG_PTR)pServerInfo + sizeof(SERVER_INFO_101));
393  wcscpy(pServerInfo->ServerInfo101.sv101_name, szComputerName);
394 
395  pServerInfo->ServerInfo101.sv101_version_major = VersionInfo.dwMajorVersion;
396  pServerInfo->ServerInfo101.sv101_version_minor = VersionInfo.dwMinorVersion;
398  pServerInfo->ServerInfo101.sv101_comment = NULL; /* FIXME */
399 
400  *InfoStruct = pServerInfo;
401  break;
402 
403  case 102:
404  dwSize = sizeof(SERVER_INFO_102) +
405  dwComputerNameLength * sizeof(WCHAR);
406  pServerInfo = midl_user_allocate(dwSize);
407  if (pServerInfo == NULL)
409 
411  pServerInfo->ServerInfo102.sv102_name = (LPWSTR)((ULONG_PTR)pServerInfo + sizeof(SERVER_INFO_102));
412  wcscpy(pServerInfo->ServerInfo102.sv102_name, szComputerName);
413 
414  pServerInfo->ServerInfo102.sv102_version_major = VersionInfo.dwMajorVersion;
415  pServerInfo->ServerInfo102.sv102_version_minor = VersionInfo.dwMinorVersion;
417  pServerInfo->ServerInfo102.sv102_comment = NULL; /* FIXME */
418 
419  pServerInfo->ServerInfo102.sv102_users = 0; /* FIXME */
420  pServerInfo->ServerInfo102.sv102_disc = 0; /* FIXME */
421  pServerInfo->ServerInfo102.sv102_hidden = SV_VISIBLE; /* FIXME */
422  pServerInfo->ServerInfo102.sv102_announce = 0; /* FIXME */
423  pServerInfo->ServerInfo102.sv102_anndelta = 0; /* FIXME */
424  pServerInfo->ServerInfo102.sv102_licenses = 0; /* FIXME */
425  pServerInfo->ServerInfo102.sv102_userpath = NULL; /* FIXME */
426 
427  *InfoStruct = pServerInfo;
428  break;
429 
430  default:
431  FIXME("level %d unimplemented\n", Level);
432  return ERROR_INVALID_LEVEL;
433  }
434 
435  return NERR_Success;
436 }
437 
438 
439 /* Function 22 */
441 __stdcall
443  SRVSVC_HANDLE ServerName,
444  DWORD Level,
445  LPSERVER_INFO ServerInfo,
446  DWORD *ParmErr)
447 {
450 }
451 
452 
453 /* Function 23 */
455 __stdcall
457  SRVSVC_HANDLE ServerName,
458  DWORD Level,
459  DISK_ENUM_CONTAINER *DiskInfoStruct,
460  DWORD PreferedMaximumLength,
461  DWORD *TotalEntries,
462  DWORD *ResumeHandle)
463 {
466 }
467 
468 
469 /* Function 24 */
471 __stdcall
473  SRVSVC_HANDLE ServerName,
474  WCHAR *Service,
475  DWORD Level,
476  DWORD Options,
477  LPSTAT_SERVER_0 *InfoStruct)
478 {
479  PSTAT_SERVER_0 pStatBuffer;
480 
481  TRACE("NetrServerStatisticsGet(%p %p %lu 0x%lx %p)\n",
482  ServerName, Service, Level, Options, InfoStruct);
483 
484  if (Level != 0)
485  return ERROR_INVALID_LEVEL;
486 
487  if (Options != 0)
489 
490  pStatBuffer = midl_user_allocate(sizeof(STAT_SERVER_0));
491  if (pStatBuffer == NULL)
493 
494  ZeroMemory(pStatBuffer, sizeof(STAT_SERVER_0));
495 
496  // FIXME: Return the actual statistcs data!
497 
498  *InfoStruct = pStatBuffer;
499 
500  return NERR_Success;
501 }
502 
503 
504 /* Function 25 */
506 __stdcall
508  SRVSVC_HANDLE ServerName,
509  DWORD Level,
511 {
514 }
515 
516 
517 /* Function 26 */
519 __stdcall
521  SRVSVC_HANDLE ServerName,
522  LPSERVER_XPORT_ENUM_STRUCT InfoStruct,
523  DWORD PreferedMaximumLength,
524  DWORD *TotalEntries,
525  DWORD *ResumeHandle)
526 {
529 }
530 
531 
532 /* Function 27 */
534 __stdcall
536  SRVSVC_HANDLE ServerName,
537  DWORD Level,
539 {
542 }
543 
544 
545 /* Function 28 */
547 __stdcall
549  SRVSVC_HANDLE ServerName,
550  LPTIME_OF_DAY_INFO *BufferPtr)
551 {
552  SYSTEMTIME SystemTime;
554  TIME_ZONE_INFORMATION TimeZoneInfo;
555  DWORD TimeZoneId;
556  LPTIME_OF_DAY_INFO lpTod;
557 
558  TRACE("NetrRemoteTOD(%p %p)\n", ServerName, BufferPtr);
559 
560  *BufferPtr = midl_user_allocate(sizeof(TIME_OF_DAY_INFO));
561  if (*BufferPtr == NULL)
563 
564  lpTod = *BufferPtr;
565 
566  /* Set the seconds since 1970 */
567  NtQuerySystemTime(&Time);
569  &lpTod->tod_elapsedt);
570 
571  /* Set the tick count */
572  lpTod->tod_msecs = GetTickCount();
573 
574  /* Set the timezone */
575  TimeZoneId = GetTimeZoneInformation(&TimeZoneInfo);
576 
577  switch (TimeZoneId)
578  {
580  lpTod->tod_timezone = TimeZoneInfo.Bias;
581  break;
582 
584  lpTod->tod_timezone = TimeZoneInfo.Bias + TimeZoneInfo.StandardBias;
585  break;
586 
588  lpTod->tod_timezone = TimeZoneInfo.Bias + TimeZoneInfo.DaylightBias;
589  break;
590 
591  default:
592  lpTod->tod_timezone = 0;
593  }
594 
595  /* Set the ??? */
596  lpTod->tod_tinterval = 310;
597 
598  /* Set the date and time */
599  GetSystemTime(&SystemTime);
600  lpTod->tod_hours = SystemTime.wHour;
601  lpTod->tod_mins = SystemTime.wMinute;
602  lpTod->tod_secs = SystemTime.wSecond;
603  lpTod->tod_hunds = SystemTime.wMilliseconds / 10;
604  lpTod->tod_day = SystemTime.wDay;
605  lpTod->tod_month = SystemTime.wMonth;
606  lpTod->tod_year = SystemTime.wYear;
607  lpTod->tod_weekday = SystemTime.wDayOfWeek;
608 
609  return NERR_Success;
610 }
611 
612 
613 /* Function 29 - Not used on wire */
615 __stdcall
617  SRVSVC_HANDLE ServerName,
618  WCHAR *Transport,
619  DWORD ServiceBits,
620  DWORD UpdateImmediately)
621 {
622  FIXME("NetrServerSetServiceBits(%p %s %lx %lu)\n",
623  ServerName, debugstr_w(Transport), ServiceBits, UpdateImmediately);
624 
625  /* FIXME: Support Transport */
626  /* FIXME: Support UpdateImmdiately */
627 
628  dwServiceBits = ServiceBits;
629 
630  return NERR_Success;
631 }
632 
633 
634 /* Function 30 */
636 __stdcall
638  SRVSVC_HANDLE ServerName,
639  WCHAR *PathName,
640  DWORD *PathType,
641  DWORD Flags)
642 {
645 }
646 
647 
648 /* Function 31 */
650 __stdcall
652  SRVSVC_HANDLE ServerName,
653  WCHAR *PathName,
654  unsigned char *Outbuf,
655  DWORD OutbufLen,
656  WCHAR *Prefix,
657  DWORD *PathType,
658  DWORD Flags)
659 {
662 }
663 
664 
665 /* Function 32 */
666 long
667 __stdcall
669  SRVSVC_HANDLE ServerName,
670  WCHAR *PathName1,
671  WCHAR *PathName2,
672  DWORD PathType,
673  DWORD Flags)
674 {
677 }
678 
679 
680 /* Function 33 */
682 __stdcall
684  SRVSVC_HANDLE ServerName,
685  WCHAR * Name,
686  DWORD NameType,
687  DWORD Flags)
688 {
691 }
692 
693 
694 /* Function 34 */
696 __stdcall
698  SRVSVC_HANDLE ServerName,
699  WCHAR *Name,
700  WCHAR *Outbuf,
701  DWORD OutbufLen,
702  DWORD NameType,
703  DWORD Flags)
704 {
707 }
708 
709 
710 /* Function 35 */
711 long
712 __stdcall
714  SRVSVC_HANDLE ServerName,
715  WCHAR *Name1,
716  WCHAR *Name2,
717  DWORD NameType,
718  DWORD Flags)
719 {
722 }
723 
724 
725 /* Function 36 */
727 __stdcall
729  SRVSVC_HANDLE ServerName,
730  LPSHARE_ENUM_STRUCT InfoStruct,
731  DWORD PreferedMaximumLength,
732  DWORD *TotalEntries,
733  DWORD *ResumeHandle)
734 {
737 }
738 
739 
740 /* Function 37 */
742 __stdcall
744  SRVSVC_HANDLE ServerName,
745  WCHAR *NetName,
746  DWORD Reserved,
747  PSHARE_DEL_HANDLE ContextHandle)
748 {
751 }
752 
753 
754 /* Function 38 */
756 __stdcall
758  PSHARE_DEL_HANDLE ContextHandle)
759 {
762 }
763 
764 
765 /* Function 39 */
766 DWORD
767 __stdcall
769  SRVSVC_HANDLE ServerName,
770  WCHAR *ShareName,
771  WCHAR *lpFileName,
772  SECURITY_INFORMATION RequestedInformation,
774 {
777 }
778 
779 
780 /* Function 40 */
781 DWORD
782 __stdcall
784  SRVSVC_HANDLE ServerName,
785  WCHAR *ShareName,
786  WCHAR *lpFileName,
789 {
792 }
793 
794 
795 /* Function 41 */
797 __stdcall
799  SRVSVC_HANDLE ServerName,
800  DWORD Level,
802 {
805 }
806 
807 
808 /* Function 42 - Not used on wire */
810 __stdcall
812  SRVSVC_HANDLE ServerName,
813  WCHAR *EmulatedServer,
814  WCHAR *Transport,
815  DWORD ServiceBitsOfInterest,
816  DWORD ServiceBits,
817  DWORD UpdateImmediately)
818 {
821 }
822 
823 
824 /* Function 43 */
826 __stdcall
828  SRVSVC_HANDLE ServerName,
829  DWORD *Version)
830 {
833 }
834 
835 
836 /* Function 44 */
838 __stdcall
840  SRVSVC_HANDLE ServerName,
841  WCHAR *ShareName,
842  GUID *EntryUid,
843  WCHAR *EntryPrefix,
844  WCHAR *ShortName,
845  LPNET_DFS_ENTRY_ID_CONTAINER RelationInfo,
846  int Force)
847 {
850 }
851 
852 
853 /* Function 45 */
855 __stdcall
857  SRVSVC_HANDLE ServerName,
858  GUID *Uid,
859  WCHAR *Prefix)
860 {
863 }
864 
865 
866 /* Function 46 */
868 __stdcall
870  SRVSVC_HANDLE ServerName,
871  GUID *Uid,
872  WCHAR *Prefix,
873  unsigned long State)
874 {
877 }
878 
879 
880 /* Function 47 - Not used on wire */
882 __stdcall
884 {
887 }
888 
889 
890 /* Function 48 */
892 __stdcall
894  SRVSVC_HANDLE ServerName,
895  GUID *Uid,
896  WCHAR *Prefix,
897  unsigned long Type,
898  DWORD ShortPrefixLen,
899  WCHAR *ShortPrefix)
900 {
903 }
904 
905 
906 /* Function 49 */
908 __stdcall
910  SRVSVC_HANDLE ServerName,
911  GUID *Uid,
912  WCHAR *Prefix,
913  unsigned long Type)
914 {
917 }
918 
919 
920 /* Function 50 */
922 __stdcall
924  SRVSVC_HANDLE ServerName,
925  GUID *Uid,
926  WCHAR *Prefix)
927 {
930 }
931 
932 
933 /* Function 51 */
935 __stdcall
937  SRVSVC_HANDLE ServerName,
938  WCHAR *VolumeName,
939  unsigned long EntryType,
940  unsigned long ServiceType,
941  WCHAR *StgId,
942  GUID *EntryUid,
943  WCHAR *EntryPrefix,
944  LPNET_DFS_ENTRY_ID_CONTAINER RelationInfo,
945  unsigned long CreateDisposition)
946 {
949 }
950 
951 
952 /* Function 52 */
954 __stdcall
956  SRVSVC_HANDLE ServerName,
957  LPDFS_SITELIST_INFO *ppSiteInfo)
958 {
961 }
962 
963 
964 /* Function 53 */
966 __stdcall
968  SRVSVC_HANDLE ServerName,
969  DWORD Level,
971 {
974 }
975 
976 /* EOF */
NET_API_STATUS __stdcall NetprNameValidate(SRVSVC_HANDLE ServerName, WCHAR *Name, DWORD NameType, DWORD Flags)
Definition: rpcserver.c:683
IN PDCB IN POEM_STRING IN PUNICODE_STRING IN OUT POEM_STRING ShortName
Definition: fatprocs.h:1294
NET_API_STATUS __stdcall NetrServerTransportAdd(SRVSVC_HANDLE ServerName, DWORD Level, LPSERVER_TRANSPORT_INFO_0 Buffer)
Definition: rpcserver.c:507
#define ERROR_INVALID_PARAMETER
Definition: compat.h:91
long __stdcall NetprNameCompare(SRVSVC_HANDLE ServerName, WCHAR *Name1, WCHAR *Name2, DWORD NameType, DWORD Flags)
Definition: rpcserver.c:713
DWORD sv102_version_major
Definition: lmserver.h:28
DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION lpTimeZoneInformation)
Definition: timezone.c:262
void __stdcall Opnum4NotUsedOnWire(void)
Definition: rpcserver.c:127
NET_API_STATUS __stdcall NetrShareEnumSticky(SRVSVC_HANDLE ServerName, LPSHARE_ENUM_STRUCT InfoStruct, DWORD PreferedMaximumLength, DWORD *TotalEntries, DWORD *ResumeHandle)
Definition: rpcserver.c:728
LPWSTR sv102_name
Definition: lmserver.h:27
NET_API_STATUS __stdcall NetrRemoteTOD(SRVSVC_HANDLE ServerName, LPTIME_OF_DAY_INFO *BufferPtr)
Definition: rpcserver.c:548
NET_API_STATUS __stdcall NetrServerTransportEnum(SRVSVC_HANDLE ServerName, LPSERVER_XPORT_ENUM_STRUCT InfoStruct, DWORD PreferedMaximumLength, DWORD *TotalEntries, DWORD *ResumeHandle)
Definition: rpcserver.c:520
NET_API_STATUS __stdcall NetrSessionEnum(SRVSVC_HANDLE ServerName, WCHAR *ClientName, WCHAR *UserName, PSESSION_ENUM_STRUCT InfoStruct, DWORD PreferedMaximumLength, DWORD *TotalEntries, DWORD *ResumeHandle)
Definition: rpcserver.c:221
_In_ __drv_aliasesMem PSTRING Prefix
Definition: rtlfuncs.h:1631
LPWSTR sv102_userpath
Definition: lmserver.h:38
IN PVOID IN PVOID IN USHORT Version
Definition: pci.h:359
NET_API_STATUS __stdcall NetrServerSetServiceBits(SRVSVC_HANDLE ServerName, WCHAR *Transport, DWORD ServiceBits, DWORD UpdateImmediately)
Definition: rpcserver.c:616
NET_API_STATUS __stdcall NetrShareEnum(SRVSVC_HANDLE ServerName, LPSHARE_ENUM_STRUCT InfoStruct, DWORD PreferedMaximumLength, DWORD *TotalEntries, DWORD *ResumeHandle)
Definition: rpcserver.c:265
DWORD sv101_platform_id
Definition: lmserver.h:17
Type
Definition: Type.h:6
_In_ PIRP _In_ PDEVICE_OBJECT Device
Definition: fatprocs.h:2020
NET_API_STATUS __stdcall NetrShareDelCommit(PSHARE_DEL_HANDLE ContextHandle)
Definition: rpcserver.c:757
NET_API_STATUS __stdcall NetrShareDelStart(SRVSVC_HANDLE ServerName, WCHAR *NetName, DWORD Reserved, PSHARE_DEL_HANDLE ContextHandle)
Definition: rpcserver.c:743
WORD wMonth
Definition: winbase.h:871
NET_API_STATUS __stdcall NetrServerDiskEnum(SRVSVC_HANDLE ServerName, DWORD Level, DISK_ENUM_CONTAINER *DiskInfoStruct, DWORD PreferedMaximumLength, DWORD *TotalEntries, DWORD *ResumeHandle)
Definition: rpcserver.c:456
BOOLEAN NTAPI RtlTimeToSecondsSince1970(PLARGE_INTEGER Time, PULONG ElapsedSeconds)
NET_API_STATUS __stdcall NetrShareSetInfo(SRVSVC_HANDLE ServerName, WCHAR *NetName, DWORD Level, LPSHARE_INFO ShareInfo, DWORD *ParmErr)
Definition: rpcserver.c:294
_In_ USHORT _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR _Reserved_ ULONG _In_opt_ PVOID _In_opt_ const WSK_CLIENT_CONNECTION_DISPATCH _In_opt_ PEPROCESS _In_opt_ PETHREAD _In_opt_ PSECURITY_DESCRIPTOR SecurityDescriptor
Definition: wsk.h:182
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define TIME_ZONE_ID_UNKNOWN
Definition: rtltypes.h:250
WORD wDayOfWeek
Definition: winbase.h:872
void __stdcall Opnum6NotUsedOnWire(void)
Definition: rpcserver.c:144
NET_API_STATUS __stdcall NetrFileClose(SRVSVC_HANDLE ServerName, DWORD FileId)
Definition: rpcserver.c:209
NET_API_STATUS __stdcall NetprNameCanonicalize(SRVSVC_HANDLE ServerName, WCHAR *Name, WCHAR *Outbuf, DWORD OutbufLen, DWORD NameType, DWORD Flags)
Definition: rpcserver.c:697
DWORD sv102_licenses
Definition: lmserver.h:37
LPWSTR sv101_comment
Definition: lmserver.h:22
LPWSTR sv101_name
Definition: lmserver.h:18
struct _SERVER_INFO_100 SERVER_INFO_100
LPWSTR sv102_comment
Definition: lmserver.h:31
DWORD WINAPI GetTickCount(VOID)
Definition: time.c:445
NET_API_STATUS __stdcall NetrFileEnum(SRVSVC_HANDLE ServerName, WCHAR *BasePath, WCHAR *UserName, PFILE_ENUM_STRUCT InfoStruct, DWORD PreferedMaximumLength, DWORD *TotalEntries, DWORD *ResumeHandle)
Definition: rpcserver.c:178
#define ERROR_NOT_ENOUGH_MEMORY
Definition: dderror.h:7
#define ZeroMemory
Definition: winbase.h:1635
#define SV_VISIBLE
Definition: lmserver.h:459
NET_API_STATUS __stdcall NetrFileGetInfo(SRVSVC_HANDLE ServerName, DWORD FileId, DWORD Level, LPFILE_INFO InfoStruct)
Definition: rpcserver.c:195
NET_API_STATUS __stdcall NetrDfsModifyPrefix(SRVSVC_HANDLE ServerName, GUID *Uid, WCHAR *Prefix)
Definition: rpcserver.c:923
NET_API_STATUS __stdcall NetrServerTransportAddEx(SRVSVC_HANDLE ServerName, DWORD Level, LPTRANSPORT_INFO Buffer)
Definition: rpcserver.c:798
DWORD __stdcall NetrpGetFileSecurity(SRVSVC_HANDLE ServerName, WCHAR *ShareName, WCHAR *lpFileName, SECURITY_INFORMATION RequestedInformation, PADT_SECURITY_DESCRIPTOR *SecurityDescriptor)
Definition: rpcserver.c:768
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
Definition: wmitypes.h:55
struct _SERVER_INFO_101 SERVER_INFO_101
NET_API_STATUS __stdcall NetrDfsDeleteLocalPartition(SRVSVC_HANDLE ServerName, GUID *Uid, WCHAR *Prefix)
Definition: rpcserver.c:856
BOOL WINAPI GetComputerNameW(LPWSTR lpBuffer, LPDWORD lpnSize)
Definition: compname.c:339
void __stdcall Opnum3NotUsedOnWire(void)
Definition: rpcserver.c:118
BOOL WINAPI GetVersionExW(IN LPOSVERSIONINFOW lpVersionInformation)
Definition: version.c:37
enum OPTION_FLAGS Options
Definition: stats.c:44
void __stdcall Opnum1NotUsedOnWire(void)
Definition: rpcserver.c:100
#define NERR_Success
Definition: lmerr.h:5
NET_API_STATUS __stdcall NetrShareCheck(SRVSVC_HANDLE ServerName, WCHAR *Device, DWORD *Type)
Definition: rpcserver.c:335
uint32_t ULONG_PTR
Definition: typedefs.h:63
static IN ULONG IN PWSTR OUT PCWSTR OUT PBOOLEAN OUT PATH_TYPE_AND_UNKNOWN * PathType
WORD wYear
Definition: winbase.h:870
long RPC_STATUS
Definition: rpc.h:52
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
DWORD tod_elapsedt
Definition: lmremutl.h:23
DWORD SECURITY_INFORMATION
Definition: ms-dtyp.idl:311
DWORD sv101_version_minor
Definition: lmserver.h:20
LPWSTR sv100_name
Definition: lmserver.h:13
DWORD sv102_users
Definition: lmserver.h:32
RPC_STATUS WINAPI RpcServerListen(UINT MinimumCallThreads, UINT MaxCalls, UINT DontWait)
Definition: rpc_server.c:1527
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
BOOL sv102_hidden
Definition: lmserver.h:34
void __stdcall Opnum5NotUsedOnWire(void)
Definition: rpcserver.c:135
static PVOID ptr
Definition: dispmode.c:27
long __stdcall NetprPathCompare(SRVSVC_HANDLE ServerName, WCHAR *PathName1, WCHAR *PathName2, DWORD PathType, DWORD Flags)
Definition: rpcserver.c:668
#define RPC_C_LISTEN_MAX_CALLS_DEFAULT
Definition: rpcdce.h:122
void __RPC_FAR *__RPC_USER midl_user_allocate(SIZE_T len)
Definition: rpcserver.c:69
WORD wMinute
Definition: winbase.h:875
NET_API_STATUS __stdcall NetrShareAdd(SRVSVC_HANDLE ServerName, DWORD Level, LPSHARE_INFO InfoStruct, DWORD *ParmErr)
Definition: rpcserver.c:251
smooth NULL
Definition: ftsmooth.c:416
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ SECURITY_INFORMATION SecurityInformation
Definition: fltkernel.h:1339
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
Definition: bufpool.h:45
#define __RPC_FAR
Definition: rpc.h:56
#define SV_TYPE_NT
Definition: lmserver.h:440
#define __RPC_USER
Definition: rpc.h:65
DWORD NET_API_STATUS
Definition: ms-dtyp.idl:91
NET_API_STATUS __stdcall NetrDfsCreateExitPoint(SRVSVC_HANDLE ServerName, GUID *Uid, WCHAR *Prefix, unsigned long Type, DWORD ShortPrefixLen, WCHAR *ShortPrefix)
Definition: rpcserver.c:893
SERVER_INFO_102 ServerInfo102
Definition: srvsvc.idl:797
VOID WINAPI GetSystemTime(OUT LPSYSTEMTIME lpSystemTime)
Definition: time.c:317
#define TIME_ZONE_ID_STANDARD
Definition: rtltypes.h:251
#define TRACE(s)
Definition: solgame.cpp:4
NET_API_STATUS __stdcall NetrDfsDeleteExitPoint(SRVSVC_HANDLE ServerName, GUID *Uid, WCHAR *Prefix, unsigned long Type)
Definition: rpcserver.c:909
ULONG dwMajorVersion
Definition: rtltypes.h:243
DWORD dwServiceBits
Definition: srvsvc.c:40
#define GetProcessHeap()
Definition: compat.h:395
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
void __RPC_USER SHARE_DEL_HANDLE_rundown(SHARE_DEL_HANDLE hClientHandle)
Definition: rpcserver.c:83
DWORD tod_tinterval
Definition: lmremutl.h:30
NET_API_STATUS __stdcall NetrShareDelSticky(SRVSVC_HANDLE ServerName, WCHAR *NetName, DWORD Reserved)
Definition: rpcserver.c:322
NET_API_STATUS __stdcall NetrServerGetInfo(SRVSVC_HANDLE ServerName, DWORD Level, LPSERVER_INFO *InfoStruct)
Definition: rpcserver.c:348
DWORD sv102_type
Definition: lmserver.h:30
NET_API_STATUS __stdcall NetrDfsCreateLocalPartition(SRVSVC_HANDLE ServerName, WCHAR *ShareName, GUID *EntryUid, WCHAR *EntryPrefix, WCHAR *ShortName, LPNET_DFS_ENTRY_ID_CONTAINER RelationInfo, int Force)
Definition: rpcserver.c:839
ULONG dwOSVersionInfoSize
Definition: rtltypes.h:242
NET_API_STATUS __stdcall NetrServerStatisticsGet(SRVSVC_HANDLE ServerName, WCHAR *Service, DWORD Level, DWORD Options, LPSTAT_SERVER_0 *InfoStruct)
Definition: rpcserver.c:472
WINE_DEFAULT_DEBUG_CHANNEL(schedsvc)
DWORD sv100_platform_id
Definition: lmserver.h:12
NET_API_STATUS __stdcall NetrSessionDel(SRVSVC_HANDLE ServerName, WCHAR *ClientName, WCHAR *UserName)
Definition: rpcserver.c:238
unsigned long DWORD
Definition: ntddk_ex.h:95
RPC_STATUS WINAPI RpcServerRegisterIf(RPC_IF_HANDLE IfSpec, UUID *MgrTypeUuid, RPC_MGR_EPV *MgrEpv)
Definition: rpc_server.c:1123
DWORD __stdcall NetrpSetFileSecurity(SRVSVC_HANDLE ServerName, WCHAR *ShareName, WCHAR *lpFileName, SECURITY_INFORMATION SecurityInformation, PADT_SECURITY_DESCRIPTOR SecurityDescriptor)
Definition: rpcserver.c:783
#define __stdcall
Definition: typedefs.h:25
DWORD sv101_version_major
Definition: lmserver.h:19
WORD wSecond
Definition: winbase.h:876
WORD wMilliseconds
Definition: winbase.h:877
NET_API_STATUS __stdcall NetrServerTransportDel(SRVSVC_HANDLE ServerName, DWORD Level, LPSERVER_TRANSPORT_INFO_0 Buffer)
Definition: rpcserver.c:535
NET_API_STATUS __stdcall NetrDfsManagerReportSiteInfo(SRVSVC_HANDLE ServerName, LPDFS_SITELIST_INFO *ppSiteInfo)
Definition: rpcserver.c:955
NET_API_STATUS __stdcall NetrDfsFixLocalVolume(SRVSVC_HANDLE ServerName, WCHAR *VolumeName, unsigned long EntryType, unsigned long ServiceType, WCHAR *StgId, GUID *EntryUid, WCHAR *EntryPrefix, LPNET_DFS_ENTRY_ID_CONTAINER RelationInfo, unsigned long CreateDisposition)
Definition: rpcserver.c:936
DWORD sv101_type
Definition: lmserver.h:21
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
static const WCHAR L[]
Definition: oid.c:1087
NET_API_STATUS __stdcall NetrServerSetServiceBitsEx(SRVSVC_HANDLE ServerName, WCHAR *EmulatedServer, WCHAR *Transport, DWORD ServiceBitsOfInterest, DWORD ServiceBits, DWORD UpdateImmediately)
Definition: rpcserver.c:811
LPVOID lpParameter
Definition: kernel32.h:232
NET_API_STATUS __stdcall NetrDfsGetVersion(SRVSVC_HANDLE ServerName, DWORD *Version)
Definition: rpcserver.c:827
NET_API_STATUS __stdcall NetrServerSetInfo(SRVSVC_HANDLE ServerName, DWORD Level, LPSERVER_INFO ServerInfo, DWORD *ParmErr)
Definition: rpcserver.c:442
GLenum GLsizei len
Definition: glext.h:6722
void __stdcall Opnum0NotUsedOnWire(void)
Definition: rpcserver.c:91
DWORD WINAPI RpcThreadRoutine(LPVOID lpParameter)
Definition: rpcserver.c:40
void __stdcall Opnum2NotUsedOnWire(void)
Definition: rpcserver.c:109
#define WINAPI
Definition: msvc.h:20
Status
Definition: gdiplustypes.h:24
RPC_STATUS WINAPI RpcServerUseProtseqEpW(RPC_WSTR Protseq, UINT MaxCalls, RPC_WSTR Endpoint, LPVOID SecurityDescriptor)
Definition: rpc_server.c:934
Definition: srvsvc.idl:1009
#define ERR(fmt,...)
Definition: debug.h:109
NET_API_STATUS __stdcall NetrDfsSetLocalVolumeState(SRVSVC_HANDLE ServerName, GUID *Uid, WCHAR *Prefix, unsigned long State)
Definition: rpcserver.c:869
#define MAX_COMPUTERNAME_LENGTH
Definition: winbase.h:240
DWORD sv102_anndelta
Definition: lmserver.h:36
WORD wDay
Definition: winbase.h:873
ULONG_PTR SIZE_T
Definition: typedefs.h:78
SERVER_INFO_100 ServerInfo100
Definition: srvsvc.idl:795
#define PLATFORM_ID_NT
Definition: lmcons.h:60
void __RPC_USER midl_user_free(void __RPC_FAR *ptr)
Definition: rpcserver.c:75
NET_API_STATUS __stdcall NetrServerTransportDelEx(SRVSVC_HANDLE ServerName, DWORD Level, LPTRANSPORT_INFO Buffer)
Definition: rpcserver.c:967
WORD wHour
Definition: winbase.h:874
void __stdcall Opnum7NotUsedOnWire(void)
Definition: rpcserver.c:153
#define HEAP_ZERO_MEMORY
Definition: compat.h:123
wchar_t * SRVSVC_HANDLE
Definition: srvsvc.idl:7
ULONG dwMinorVersion
Definition: rtltypes.h:244
_Must_inspect_result_ _Inout_opt_ PUNICODE_STRING VolumeName
Definition: fltkernel.h:1117
struct _SERVER_INFO_102 SERVER_INFO_102
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:92
#define UNIMPLEMENTED
Definition: debug.h:114
NTSTATUS NTAPI NtQuerySystemTime(OUT PLARGE_INTEGER SystemTime)
Definition: time.c:417
NET_API_STATUS __stdcall NetrDfsSetServerInfo(void)
Definition: rpcserver.c:883
NET_API_STATUS __stdcall NetprPathType(SRVSVC_HANDLE ServerName, WCHAR *PathName, DWORD *PathType, DWORD Flags)
Definition: rpcserver.c:637
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 NameType
Definition: acpixf.h:657
NET_API_STATUS __stdcall NetrShareGetInfo(SRVSVC_HANDLE ServerName, WCHAR *NetName, DWORD Level, LPSHARE_INFO InfoStruct)
Definition: rpcserver.c:280
#define ERROR_INVALID_LEVEL
Definition: winerror.h:196
DWORD sv102_version_minor
Definition: lmserver.h:29
WCHAR * LPWSTR
Definition: xmlstorage.h:184
_Must_inspect_result_ _In_ PCUNICODE_STRING Name2
Definition: fsrtlfuncs.h:796
DWORD sv102_platform_id
Definition: lmserver.h:26
NET_API_STATUS __stdcall NetprPathCanonicalize(SRVSVC_HANDLE ServerName, WCHAR *PathName, unsigned char *Outbuf, DWORD OutbufLen, WCHAR *Prefix, DWORD *PathType, DWORD Flags)
Definition: rpcserver.c:651
#define TIME_ZONE_ID_DAYLIGHT
Definition: rtltypes.h:252
_In_ PIO_STACK_LOCATION _Inout_ PFILE_OBJECT _Inout_ PVCB _Outptr_result_maybenull_ PDCB _In_ PDCB _In_ PDIRENT _In_ ULONG _In_ ULONG _In_ PUNICODE_STRING _In_ PACCESS_MASK _In_ USHORT _In_ ULONG CreateDisposition
Definition: create.c:4157
#define HeapFree(x, y, z)
Definition: compat.h:394
DWORD sv102_announce
Definition: lmserver.h:35
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:54
static PLARGE_INTEGER Time
Definition: time.c:105
NET_API_STATUS __stdcall NetrConnectionEnum(SRVSVC_HANDLE ServerName, WCHAR *Qualifier, LPCONNECT_ENUM_STRUCT InfoStruct, DWORD PreferedMaximumLength, DWORD *TotalEntries, DWORD *ResumeHandle)
Definition: rpcserver.c:162
_In_ LPCSTR lpFileName
Definition: winbase.h:3011
#define RPC_S_OK
Definition: rpcnterr.h:22
SERVER_INFO_101 ServerInfo101
Definition: srvsvc.idl:796
NET_API_STATUS __stdcall NetrShareDel(SRVSVC_HANDLE ServerName, WCHAR *NetName, DWORD Reserved)
Definition: rpcserver.c:309
DWORD tod_weekday
Definition: lmremutl.h:34
_Inout_ PVCB _In_ BOOLEAN Force
Definition: cdprocs.h:1425