ReactOS 0.4.15-dev-7918-g2a2556c
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
43 LPVOID lpParameter)
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{
80}
81
82
84{
85}
86
87
88/* Function 0 */
89void
92{
94}
95
96
97/* Function 1 */
98void
101{
103}
104
105
106/* Function 2 */
107void
110{
112}
113
114
115/* Function 3 */
116void
119{
121}
122
123
124/* Function 4 */
125void
128{
130}
131
132/* Function 5 */
133void
136{
138}
139
140
141/* Function 6 */
142void
145{
147}
148
149
150/* Function 7 */
151void
154{
156}
157
158
159/* Function 8 */
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 */
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 */
196 SRVSVC_HANDLE ServerName,
197 DWORD FileId,
198 DWORD Level,
199 LPFILE_INFO InfoStruct)
200{
202 return 0;
203}
204
205
206/* Function 11 */
210 SRVSVC_HANDLE ServerName,
211 DWORD FileId)
212{
214 return 0;
215}
216
217
218/* Function 12 */
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 */
239 SRVSVC_HANDLE ServerName,
240 WCHAR *ClientName,
241 WCHAR *UserName)
242{
245}
246
247
248/* Function 14 */
252 SRVSVC_HANDLE ServerName,
253 DWORD Level,
254 LPSHARE_INFO InfoStruct,
255 DWORD *ParmErr)
256{
259}
260
261
262/* Function 15 */
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 */
281 SRVSVC_HANDLE ServerName,
282 WCHAR *NetName,
283 DWORD Level,
284 LPSHARE_INFO InfoStruct)
285{
288}
289
290
291/* Function 17 */
295 SRVSVC_HANDLE ServerName,
296 WCHAR *NetName,
297 DWORD Level,
298 LPSHARE_INFO ShareInfo,
299 DWORD *ParmErr)
300{
303}
304
305
306/* Function 18 */
310 SRVSVC_HANDLE ServerName,
311 WCHAR *NetName,
313{
316}
317
318
319/* Function 19 */
323 SRVSVC_HANDLE ServerName,
324 WCHAR *NetName,
326{
329}
330
331
332/* Function 20 */
336 SRVSVC_HANDLE ServerName,
337 WCHAR *Device,
338 DWORD *Type)
339{
342}
343
344
345/* Function 21 */
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;
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
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
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
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 */
443 SRVSVC_HANDLE ServerName,
444 DWORD Level,
445 LPSERVER_INFO ServerInfo,
446 DWORD *ParmErr)
447{
450}
451
452
453/* Function 23 */
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 */
473 SRVSVC_HANDLE ServerName,
474 WCHAR *Service,
475 DWORD Level,
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 */
508 SRVSVC_HANDLE ServerName,
509 DWORD Level,
511{
514}
515
516
517/* Function 26 */
521 SRVSVC_HANDLE ServerName,
523 DWORD PreferedMaximumLength,
524 DWORD *TotalEntries,
525 DWORD *ResumeHandle)
526{
529}
530
531
532/* Function 27 */
536 SRVSVC_HANDLE ServerName,
537 DWORD Level,
539{
542}
543
544
545/* Function 28 */
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 */
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 */
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 */
638 SRVSVC_HANDLE ServerName,
639 WCHAR *PathName,
641 DWORD Flags)
642{
645}
646
647
648/* Function 31 */
652 SRVSVC_HANDLE ServerName,
653 WCHAR *PathName,
654 unsigned char *Outbuf,
655 DWORD OutbufLen,
656 WCHAR *Prefix,
658 DWORD Flags)
659{
662}
663
664
665/* Function 32 */
666long
669 SRVSVC_HANDLE ServerName,
670 WCHAR *PathName1,
671 WCHAR *PathName2,
673 DWORD Flags)
674{
677}
678
679
680/* Function 33 */
684 SRVSVC_HANDLE ServerName,
685 WCHAR * Name,
687 DWORD Flags)
688{
691}
692
693
694/* Function 34 */
698 SRVSVC_HANDLE ServerName,
699 WCHAR *Name,
700 WCHAR *Outbuf,
701 DWORD OutbufLen,
703 DWORD Flags)
704{
707}
708
709
710/* Function 35 */
711long
714 SRVSVC_HANDLE ServerName,
715 WCHAR *Name1,
716 WCHAR *Name2,
718 DWORD Flags)
719{
722}
723
724
725/* Function 36 */
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 */
744 SRVSVC_HANDLE ServerName,
745 WCHAR *NetName,
747 PSHARE_DEL_HANDLE ContextHandle)
748{
751}
752
753
754/* Function 38 */
758 PSHARE_DEL_HANDLE ContextHandle)
759{
762}
763
764
765/* Function 39 */
766DWORD
769 SRVSVC_HANDLE ServerName,
770 WCHAR *ShareName,
772 SECURITY_INFORMATION RequestedInformation,
774{
777}
778
779
780/* Function 40 */
781DWORD
784 SRVSVC_HANDLE ServerName,
785 WCHAR *ShareName,
789{
792}
793
794
795/* Function 41 */
799 SRVSVC_HANDLE ServerName,
800 DWORD Level,
802{
805}
806
807
808/* Function 42 - Not used on wire */
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 */
828 SRVSVC_HANDLE ServerName,
829 DWORD *Version)
830{
833}
834
835
836/* Function 44 */
840 SRVSVC_HANDLE ServerName,
841 WCHAR *ShareName,
842 GUID *EntryUid,
843 WCHAR *EntryPrefix,
845 LPNET_DFS_ENTRY_ID_CONTAINER RelationInfo,
846 int Force)
847{
850}
851
852
853/* Function 45 */
857 SRVSVC_HANDLE ServerName,
858 GUID *Uid,
859 WCHAR *Prefix)
860{
863}
864
865
866/* Function 46 */
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 */
884{
887}
888
889
890/* Function 48 */
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 */
910 SRVSVC_HANDLE ServerName,
911 GUID *Uid,
912 WCHAR *Prefix,
913 unsigned long Type)
914{
917}
918
919
920/* Function 50 */
924 SRVSVC_HANDLE ServerName,
925 GUID *Uid,
926 WCHAR *Prefix)
927{
930}
931
932
933/* Function 51 */
937 SRVSVC_HANDLE ServerName,
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 */
956 SRVSVC_HANDLE ServerName,
957 LPDFS_SITELIST_INFO *ppSiteInfo)
958{
961}
962
963
964/* Function 53 */
968 SRVSVC_HANDLE ServerName,
969 DWORD Level,
971{
974}
975
976/* EOF */
static IN ULONG IN PWSTR OUT PCWSTR OUT PBOOLEAN OUT PATH_TYPE_AND_UNKNOWN * PathType
Type
Definition: Type.h:7
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn UINT32 *TableIdx 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:658
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
Definition: precomp.h:23
DWORD WINAPI RpcThreadRoutine(LPVOID lpParameter)
Definition: rpcserver.c:20
DWORD dwServiceBits
Definition: srvsvc.c:40
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
NET_API_STATUS __stdcall NetrShareCheck(SRVSVC_HANDLE ServerName, WCHAR *Device, DWORD *Type)
Definition: rpcserver.c:335
NET_API_STATUS __stdcall NetrDfsDeleteLocalPartition(SRVSVC_HANDLE ServerName, GUID *Uid, WCHAR *Prefix)
Definition: rpcserver.c:856
NET_API_STATUS __stdcall NetrServerGetInfo(SRVSVC_HANDLE ServerName, DWORD Level, LPSERVER_INFO *InfoStruct)
Definition: rpcserver.c:348
NET_API_STATUS __stdcall NetrServerTransportDel(SRVSVC_HANDLE ServerName, DWORD Level, LPSERVER_TRANSPORT_INFO_0 Buffer)
Definition: rpcserver.c:535
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
NET_API_STATUS __stdcall NetrShareDel(SRVSVC_HANDLE ServerName, WCHAR *NetName, DWORD Reserved)
Definition: rpcserver.c:309
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 NetrDfsSetLocalVolumeState(SRVSVC_HANDLE ServerName, GUID *Uid, WCHAR *Prefix, unsigned long State)
Definition: rpcserver.c:869
DWORD __stdcall NetrpSetFileSecurity(SRVSVC_HANDLE ServerName, WCHAR *ShareName, WCHAR *lpFileName, SECURITY_INFORMATION SecurityInformation, PADT_SECURITY_DESCRIPTOR SecurityDescriptor)
Definition: rpcserver.c:783
void __stdcall Opnum7NotUsedOnWire(void)
Definition: rpcserver.c:153
long __stdcall NetprPathCompare(SRVSVC_HANDLE ServerName, WCHAR *PathName1, WCHAR *PathName2, DWORD PathType, DWORD Flags)
Definition: rpcserver.c:668
DWORD __stdcall NetrpGetFileSecurity(SRVSVC_HANDLE ServerName, WCHAR *ShareName, WCHAR *lpFileName, SECURITY_INFORMATION RequestedInformation, PADT_SECURITY_DESCRIPTOR *SecurityDescriptor)
Definition: rpcserver.c:768
NET_API_STATUS __stdcall NetrRemoteTOD(SRVSVC_HANDLE ServerName, LPTIME_OF_DAY_INFO *BufferPtr)
Definition: rpcserver.c:548
NET_API_STATUS __stdcall NetrDfsSetServerInfo(void)
Definition: rpcserver.c:883
NET_API_STATUS __stdcall NetrServerSetServiceBitsEx(SRVSVC_HANDLE ServerName, WCHAR *EmulatedServer, WCHAR *Transport, DWORD ServiceBitsOfInterest, DWORD ServiceBits, DWORD UpdateImmediately)
Definition: rpcserver.c:811
NET_API_STATUS __stdcall NetrShareDelStart(SRVSVC_HANDLE ServerName, WCHAR *NetName, DWORD Reserved, PSHARE_DEL_HANDLE ContextHandle)
Definition: rpcserver.c:743
void __stdcall Opnum3NotUsedOnWire(void)
Definition: rpcserver.c:118
NET_API_STATUS __stdcall NetprNameCanonicalize(SRVSVC_HANDLE ServerName, WCHAR *Name, WCHAR *Outbuf, DWORD OutbufLen, DWORD NameType, DWORD Flags)
Definition: rpcserver.c:697
NET_API_STATUS __stdcall NetrServerStatisticsGet(SRVSVC_HANDLE ServerName, WCHAR *Service, DWORD Level, DWORD Options, LPSTAT_SERVER_0 *InfoStruct)
Definition: rpcserver.c:472
NET_API_STATUS __stdcall NetrServerTransportAdd(SRVSVC_HANDLE ServerName, DWORD Level, LPSERVER_TRANSPORT_INFO_0 Buffer)
Definition: rpcserver.c:507
NET_API_STATUS __stdcall NetrFileGetInfo(SRVSVC_HANDLE ServerName, DWORD FileId, DWORD Level, LPFILE_INFO InfoStruct)
Definition: rpcserver.c:195
NET_API_STATUS __stdcall NetprNameValidate(SRVSVC_HANDLE ServerName, WCHAR *Name, DWORD NameType, DWORD Flags)
Definition: rpcserver.c:683
void __stdcall Opnum6NotUsedOnWire(void)
Definition: rpcserver.c:144
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
NET_API_STATUS __stdcall NetrDfsCreateExitPoint(SRVSVC_HANDLE ServerName, GUID *Uid, WCHAR *Prefix, unsigned long Type, DWORD ShortPrefixLen, WCHAR *ShortPrefix)
Definition: rpcserver.c:893
void __stdcall Opnum5NotUsedOnWire(void)
Definition: rpcserver.c:135
NET_API_STATUS __stdcall NetrServerSetInfo(SRVSVC_HANDLE ServerName, DWORD Level, LPSERVER_INFO ServerInfo, DWORD *ParmErr)
Definition: rpcserver.c:442
NET_API_STATUS __stdcall NetrServerDiskEnum(SRVSVC_HANDLE ServerName, DWORD Level, DISK_ENUM_CONTAINER *DiskInfoStruct, DWORD PreferedMaximumLength, DWORD *TotalEntries, DWORD *ResumeHandle)
Definition: rpcserver.c:456
NET_API_STATUS __stdcall NetrDfsModifyPrefix(SRVSVC_HANDLE ServerName, GUID *Uid, WCHAR *Prefix)
Definition: rpcserver.c:923
void __stdcall Opnum2NotUsedOnWire(void)
Definition: rpcserver.c:109
NET_API_STATUS __stdcall NetrShareEnumSticky(SRVSVC_HANDLE ServerName, LPSHARE_ENUM_STRUCT InfoStruct, DWORD PreferedMaximumLength, DWORD *TotalEntries, DWORD *ResumeHandle)
Definition: rpcserver.c:728
NET_API_STATUS __stdcall NetrServerTransportAddEx(SRVSVC_HANDLE ServerName, DWORD Level, LPTRANSPORT_INFO Buffer)
Definition: rpcserver.c:798
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
long __stdcall NetprNameCompare(SRVSVC_HANDLE ServerName, WCHAR *Name1, WCHAR *Name2, DWORD NameType, DWORD Flags)
Definition: rpcserver.c:713
void __stdcall Opnum0NotUsedOnWire(void)
Definition: rpcserver.c:91
NET_API_STATUS __stdcall NetrDfsDeleteExitPoint(SRVSVC_HANDLE ServerName, GUID *Uid, WCHAR *Prefix, unsigned long Type)
Definition: rpcserver.c:909
NET_API_STATUS __stdcall NetrShareDelSticky(SRVSVC_HANDLE ServerName, WCHAR *NetName, DWORD Reserved)
Definition: rpcserver.c:322
NET_API_STATUS __stdcall NetrSessionDel(SRVSVC_HANDLE ServerName, WCHAR *ClientName, WCHAR *UserName)
Definition: rpcserver.c:238
NET_API_STATUS __stdcall NetrServerTransportDelEx(SRVSVC_HANDLE ServerName, DWORD Level, LPTRANSPORT_INFO Buffer)
Definition: rpcserver.c:967
NET_API_STATUS __stdcall NetrShareGetInfo(SRVSVC_HANDLE ServerName, WCHAR *NetName, DWORD Level, LPSHARE_INFO InfoStruct)
Definition: rpcserver.c:280
void __stdcall Opnum4NotUsedOnWire(void)
Definition: rpcserver.c:127
void __RPC_USER SHARE_DEL_HANDLE_rundown(SHARE_DEL_HANDLE hClientHandle)
Definition: rpcserver.c:83
NET_API_STATUS __stdcall NetrFileClose(SRVSVC_HANDLE ServerName, DWORD FileId)
Definition: rpcserver.c:209
NET_API_STATUS __stdcall NetrConnectionEnum(SRVSVC_HANDLE ServerName, WCHAR *Qualifier, LPCONNECT_ENUM_STRUCT InfoStruct, DWORD PreferedMaximumLength, DWORD *TotalEntries, DWORD *ResumeHandle)
Definition: rpcserver.c:162
NET_API_STATUS __stdcall NetrDfsGetVersion(SRVSVC_HANDLE ServerName, DWORD *Version)
Definition: rpcserver.c:827
NET_API_STATUS __stdcall NetrShareEnum(SRVSVC_HANDLE ServerName, LPSHARE_ENUM_STRUCT InfoStruct, DWORD PreferedMaximumLength, DWORD *TotalEntries, DWORD *ResumeHandle)
Definition: rpcserver.c:265
NET_API_STATUS __stdcall NetrShareSetInfo(SRVSVC_HANDLE ServerName, WCHAR *NetName, DWORD Level, LPSHARE_INFO ShareInfo, DWORD *ParmErr)
Definition: rpcserver.c:294
NET_API_STATUS __stdcall NetrShareAdd(SRVSVC_HANDLE ServerName, DWORD Level, LPSHARE_INFO InfoStruct, DWORD *ParmErr)
Definition: rpcserver.c:251
NET_API_STATUS __stdcall NetrShareDelCommit(PSHARE_DEL_HANDLE ContextHandle)
Definition: rpcserver.c:757
void __stdcall Opnum1NotUsedOnWire(void)
Definition: rpcserver.c:100
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
NET_API_STATUS __stdcall NetprPathType(SRVSVC_HANDLE ServerName, WCHAR *PathName, DWORD *PathType, DWORD Flags)
Definition: rpcserver.c:637
NET_API_STATUS __stdcall NetrDfsManagerReportSiteInfo(SRVSVC_HANDLE ServerName, LPDFS_SITELIST_INFO *ppSiteInfo)
Definition: rpcserver.c:955
NET_API_STATUS __stdcall NetrServerSetServiceBits(SRVSVC_HANDLE ServerName, WCHAR *Transport, DWORD ServiceBits, DWORD UpdateImmediately)
Definition: rpcserver.c:616
OSVERSIONINFOW VersionInfo
Definition: wkssvc.c:40
#define FIXME(fmt,...)
Definition: debug.h:111
#define UNIMPLEMENTED
Definition: debug.h:115
#define ERR(fmt,...)
Definition: debug.h:110
_Inout_ PVCB _In_ BOOLEAN Force
Definition: cdprocs.h:1417
Definition: bufpool.h:45
BOOL WINAPI GetComputerNameW(LPWSTR lpBuffer, LPDWORD lpnSize)
Definition: compname.c:446
#define ERROR_NOT_ENOUGH_MEMORY
Definition: dderror.h:7
#define NULL
Definition: types.h:112
#define FALSE
Definition: types.h:117
#define GetProcessHeap()
Definition: compat.h:736
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define ERROR_INVALID_PARAMETER
Definition: compat.h:101
#define HeapAlloc
Definition: compat.h:733
#define HeapFree(x, y, z)
Definition: compat.h:735
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
DWORD WINAPI GetTickCount(VOID)
Definition: time.c:455
VOID WINAPI GetSystemTime(OUT LPSYSTEMTIME lpSystemTime)
Definition: time.c:327
BOOL WINAPI GetVersionExW(IN LPOSVERSIONINFOW lpVersionInformation)
Definition: version.c:37
DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION lpTimeZoneInformation)
Definition: timezone.c:262
IN PDCB IN POEM_STRING IN PUNICODE_STRING IN OUT POEM_STRING ShortName
Definition: fatprocs.h:1306
unsigned long DWORD
Definition: ntddk_ex.h:95
_Must_inspect_result_ _Inout_opt_ PUNICODE_STRING VolumeName
Definition: fltkernel.h:1117
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ SECURITY_INFORMATION SecurityInformation
Definition: fltkernel.h:1340
_Must_inspect_result_ _In_ PCUNICODE_STRING Name2
Definition: fsrtlfuncs.h:796
Status
Definition: gdiplustypes.h:25
GLenum GLsizei len
Definition: glext.h:6722
BOOLEAN NTAPI RtlTimeToSecondsSince1970(PLARGE_INTEGER Time, PULONG ElapsedSeconds)
#define debugstr_w
Definition: kernel32.h:32
#define PLATFORM_ID_NT
Definition: lmcons.h:60
#define NERR_Success
Definition: lmerr.h:5
#define SV_TYPE_NT
Definition: lmserver.h:440
struct _SERVER_INFO_101 SERVER_INFO_101
#define SV_VISIBLE
Definition: lmserver.h:459
struct _SERVER_INFO_102 SERVER_INFO_102
struct _SERVER_INFO_100 SERVER_INFO_100
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:56
static PVOID ptr
Definition: dispmode.c:27
static PLARGE_INTEGER Time
Definition: time.c:105
DWORD SECURITY_INFORMATION
Definition: ms-dtyp.idl:311
DWORD NET_API_STATUS
Definition: ms-dtyp.idl:91
#define TIME_ZONE_ID_UNKNOWN
Definition: rtltypes.h:252
#define TIME_ZONE_ID_STANDARD
Definition: rtltypes.h:253
#define TIME_ZONE_ID_DAYLIGHT
Definition: rtltypes.h:254
NTSTATUS NTAPI NtQuerySystemTime(OUT PLARGE_INTEGER SystemTime)
Definition: time.c:483
@ Service
Definition: ntsecapi.h:292
#define L(x)
Definition: ntvdm.h:50
RPC_STATUS WINAPI RpcServerListen(UINT MinimumCallThreads, UINT MaxCalls, UINT DontWait)
Definition: rpc_server.c:1520
RPC_STATUS WINAPI RpcServerRegisterIf(RPC_IF_HANDLE IfSpec, UUID *MgrTypeUuid, RPC_MGR_EPV *MgrEpv)
Definition: rpc_server.c:1116
RPC_STATUS WINAPI RpcServerUseProtseqEpW(RPC_WSTR Protseq, UINT MaxCalls, RPC_WSTR Endpoint, LPVOID SecurityDescriptor)
Definition: rpc_server.c:927
#define RPC_C_LISTEN_MAX_CALLS_DEFAULT
Definition: rpcdce.h:122
#define RPC_S_OK
Definition: rpcnterr.h:22
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
#define midl_user_free
Definition: rpc.h:45
#define __RPC_FAR
Definition: rpc.h:56
long RPC_STATUS
Definition: rpc.h:52
#define __RPC_USER
Definition: rpc.h:65
#define midl_user_allocate
Definition: rpc.h:44
#define TRACE(s)
Definition: solgame.cpp:4
wchar_t * SRVSVC_HANDLE
Definition: srvsvc.idl:7
Definition: srvsvc.idl:1010
ULONG dwMinorVersion
Definition: rtltypes.h:248
ULONG dwOSVersionInfoSize
Definition: rtltypes.h:246
ULONG dwMajorVersion
Definition: rtltypes.h:247
DWORD sv100_platform_id
Definition: lmserver.h:12
LPWSTR sv100_name
Definition: lmserver.h:13
DWORD sv101_version_minor
Definition: lmserver.h:20
LPWSTR sv101_name
Definition: lmserver.h:18
LPWSTR sv101_comment
Definition: lmserver.h:22
DWORD sv101_version_major
Definition: lmserver.h:19
DWORD sv101_platform_id
Definition: lmserver.h:17
DWORD sv101_type
Definition: lmserver.h:21
LPWSTR sv102_name
Definition: lmserver.h:27
LPWSTR sv102_comment
Definition: lmserver.h:31
DWORD sv102_platform_id
Definition: lmserver.h:26
DWORD sv102_version_major
Definition: lmserver.h:28
DWORD sv102_anndelta
Definition: lmserver.h:36
DWORD sv102_licenses
Definition: lmserver.h:37
DWORD sv102_version_minor
Definition: lmserver.h:29
DWORD sv102_type
Definition: lmserver.h:30
DWORD sv102_users
Definition: lmserver.h:32
BOOL sv102_hidden
Definition: lmserver.h:34
DWORD sv102_announce
Definition: lmserver.h:35
LPWSTR sv102_userpath
Definition: lmserver.h:38
WORD wYear
Definition: winbase.h:905
WORD wMilliseconds
Definition: winbase.h:912
WORD wMonth
Definition: winbase.h:906
WORD wHour
Definition: winbase.h:909
WORD wSecond
Definition: winbase.h:911
WORD wMinute
Definition: winbase.h:910
WORD wDay
Definition: winbase.h:908
WORD wDayOfWeek
Definition: winbase.h:907
DWORD tod_tinterval
Definition: lmremutl.h:30
DWORD tod_elapsedt
Definition: lmremutl.h:23
DWORD tod_weekday
Definition: lmremutl.h:34
ULONG_PTR SIZE_T
Definition: typedefs.h:80
#define __stdcall
Definition: typedefs.h:25
uint32_t ULONG_PTR
Definition: typedefs.h:65
SERVER_INFO_101 ServerInfo101
Definition: srvsvc.idl:796
SERVER_INFO_102 ServerInfo102
Definition: srvsvc.idl:797
SERVER_INFO_100 ServerInfo100
Definition: srvsvc.idl:795
_Must_inspect_result_ _In_ WDFDEVICE Device
Definition: wdfchildlist.h:474
_In_ PWDFDEVICE_INIT _In_ PWDF_REMOVE_LOCK_OPTIONS Options
Definition: wdfdevice.h:3534
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
Definition: wdffdo.h:469
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK _In_ ULONG _Out_opt_ PULONG CreateDisposition
Definition: wdfregistry.h:120
#define ZeroMemory
Definition: winbase.h:1712
_In_ LPCSTR lpFileName
Definition: winbase.h:3071
#define MAX_COMPUTERNAME_LENGTH
Definition: winbase.h:243
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
#define WINAPI
Definition: msvc.h:6
#define ERROR_INVALID_LEVEL
Definition: winerror.h:196
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
Definition: wmitypes.h:56
_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:191
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
_In_ __drv_aliasesMem PSTRING Prefix
Definition: rtlfuncs.h:1630
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184