ReactOS  0.4.15-dev-3446-g30010a5
wksta_new.c
Go to the documentation of this file.
1 /*
2  * COPYRIGHT: See COPYING in the top level directory
3  * PROJECT: NetAPI DLL
4  * FILE: reactos/dll/win32/netapi32/wksta_new.c
5  * PURPOSE: Workstation service interface code
6  *
7  * PROGRAMMERS: Eric Kohl
8  */
9 
10 /* INCLUDES ******************************************************************/
11 
12 #include "netapi32.h"
13 #include "wkssvc_c.h"
14 
16 
17 /* FUNCTIONS *****************************************************************/
18 
20 {
22 }
23 
24 
26 {
28 }
29 
30 
33 {
35  LPWSTR pszStringBinding;
37 
38  TRACE("WKSSVC_IDENTIFY_HANDLE_bind() called\n");
39 
41  L"ncacn_np",
42  pszSystemName,
43  L"\\pipe\\wkssvc",
44  NULL,
45  &pszStringBinding);
46  if (status)
47  {
48  TRACE("RpcStringBindingCompose returned 0x%x\n", status);
49  return NULL;
50  }
51 
52  /* Set the binding handle that will be used to bind to the server. */
53  status = RpcBindingFromStringBindingW(pszStringBinding,
54  &hBinding);
55  if (status)
56  {
57  TRACE("RpcBindingFromStringBinding returned 0x%x\n", status);
58  }
59 
60  status = RpcStringFreeW(&pszStringBinding);
61  if (status)
62  {
63 // TRACE("RpcStringFree returned 0x%x\n", status);
64  }
65 
66  return hBinding;
67 }
68 
69 
70 void __RPC_USER
73 {
75 
76  TRACE("WKSSVC_IDENTIFY_HANDLE_unbind() called\n");
77 
79  if (status)
80  {
81  TRACE("RpcBindingFree returned 0x%x\n", status);
82  }
83 }
84 
85 
88 {
90  LPWSTR pszStringBinding;
92 
93  TRACE("WKSSVC_IMPERSONATE_HANDLE_bind() called\n");
94 
96  L"ncacn_np",
97  pszSystemName,
98  L"\\pipe\\wkssvc",
99  NULL,
100  &pszStringBinding);
101  if (status)
102  {
103  TRACE("RpcStringBindingCompose returned 0x%x\n", status);
104  return NULL;
105  }
106 
107  /* Set the binding handle that will be used to bind to the server. */
108  status = RpcBindingFromStringBindingW(pszStringBinding,
109  &hBinding);
110  if (status)
111  {
112  TRACE("RpcBindingFromStringBinding returned 0x%x\n", status);
113  }
114 
115  status = RpcStringFreeW(&pszStringBinding);
116  if (status)
117  {
118 // TRACE("RpcStringFree returned 0x%x\n", status);
119  }
120 
121  return hBinding;
122 }
123 
124 
125 void __RPC_USER
128 {
130 
131  TRACE("WKSSVC_IMPERSONATE_HANDLE_unbind() called\n");
132 
134  if (status)
135  {
136  TRACE("RpcBindingFree returned 0x%x\n", status);
137  }
138 }
139 
140 
143  LPCWSTR pszServerName,
144  handle_t *pBindingHandle)
145 {
147  LPWSTR pszStringBinding;
149 
150  FIXME("NetpBind(%S)\n", pszServerName);
151 
152  *pBindingHandle = NULL;
153 
155  L"ncacn_np",
156  (LPWSTR)pszServerName,
157  L"\\pipe\\wkssvc",
158  NULL,
159  &pszStringBinding);
160  if (status)
161  {
162  FIXME("RpcStringBindingCompose returned 0x%x\n", status);
164  }
165 
166  /* Set the binding handle that will be used to bind to the server. */
167  status = RpcBindingFromStringBindingW(pszStringBinding,
168  &hBinding);
169  if (status)
170  {
171  FIXME("RpcBindingFromStringBinding returned 0x%x\n", status);
172  }
173 
174  status = RpcStringFreeW(&pszStringBinding);
175  if (status)
176  {
177  FIXME("RpcStringFree returned 0x%x\n", status);
178  }
179 
180  *pBindingHandle = hBinding;
181 
183 }
184 
185 
189 {
191 
192  FIXME("NetpUnbind(%p)\n", BindingHandle);
193 
194  status = RpcBindingFree(&wkssvc_hBinding);
195  if (status)
196  {
197  TRACE("RpcBindingFree returned 0x%x\n", status);
199  }
200 
201  return NERR_Success;
202 }
203 
204 
206 WINAPI
209  _In_ LPCWSTR AlternateName,
210  _In_opt_ LPCWSTR DomainAccount,
211  _In_opt_ LPCWSTR DomainAccountPassword,
213 {
214  PJOINPR_ENCRYPTED_USER_PASSWORD EncryptedPassword = NULL;
217 
218  TRACE("NetAddAlternateComputerName(%s %s %s %s 0x%lx)\n",
219  debugstr_w(Server), debugstr_w(AlternateName), debugstr_w(DomainAccount),
220  debugstr_w(DomainAccountPassword), Reserved);
221 
222  /* FIXME */
223 
225  &BindingHandle);
226  if (status != NERR_Success)
227  {
228  ERR("NetpBind() failed (status 0x%lx)\n", status);
229  return status;
230  }
231 
233  {
235  (PWSTR)Server,
236  (PWSTR)AlternateName,
237  (PWSTR)DomainAccount,
238  EncryptedPassword,
239  Reserved);
240  }
242  {
244  }
245  RpcEndExcept;
246 
248 
249  return status;
250 }
251 
252 
254 WINAPI
259  _Out_ PDWORD EntryCount,
260  _Out_ LPWSTR **ComputerNames)
261 {
262  PNET_COMPUTER_NAME_ARRAY ComputerNameArray = NULL;
263  ULONG BufferSize, i;
264  PWSTR *NameBuffer = NULL, Ptr;
266 
267  TRACE("NetEnumerateComputerNames(%s %lu %lu %p %p)\n",
268  debugstr_w(Server), NameType, Reserved, EntryCount, ComputerNames);
269 
271  {
273  NameType,
274  Reserved,
275  &ComputerNameArray);
276  if (status == NERR_Success)
277  {
278  *EntryCount = ComputerNameArray->EntryCount;
279 
280  BufferSize = 0;
281  for (i = 0; i < ComputerNameArray->EntryCount; i++)
282  {
283  BufferSize += ComputerNameArray->ComputerNames[i].Length + sizeof(WCHAR) + sizeof(PWSTR);
284  }
285 
286  status = NetApiBufferAllocate(BufferSize, (PVOID*)&NameBuffer);
287  if (status == NERR_Success)
288  {
289  ZeroMemory(NameBuffer, BufferSize);
290 
291  Ptr = (PWSTR)((ULONG_PTR)NameBuffer + ComputerNameArray->EntryCount * sizeof(PWSTR));
292  for (i = 0; i < ComputerNameArray->EntryCount; i++)
293  {
294  NameBuffer[i] = Ptr;
295  CopyMemory(Ptr,
296  ComputerNameArray->ComputerNames[i].Buffer,
297  ComputerNameArray->ComputerNames[i].Length);
298  Ptr = (PWSTR)((ULONG_PTR)Ptr + ComputerNameArray->ComputerNames[i].Length + sizeof(WCHAR));
299  }
300 
301  *ComputerNames = NameBuffer;
302  }
303  }
304  }
306  {
308  }
309  RpcEndExcept;
310 
311  return status;
312 }
313 
314 
316 WINAPI
318  _In_ LPCWSTR lpServer,
320  _Out_ PNETSETUP_JOIN_STATUS BufferType)
321 {
323 
324  TRACE("NetGetJoinInformation(%s %p %p)\n",
325  debugstr_w(lpServer), lpNameBuffer, BufferType);
326 
327  if (lpNameBuffer == NULL || BufferType == NULL)
329 
330  /* Disabled because of CORE-17679 */
331 #if 0
332  *lpNameBuffer = NULL;
334  {
336  lpNameBuffer,
337  BufferType);
338  }
340  {
342  }
343  RpcEndExcept;
344 #endif
345 
346  *lpNameBuffer = NULL;
347  *BufferType = NetSetupUnknownStatus;
348 
349  return status;
350 }
351 
352 
354 WINAPI
356  _In_opt_ LPCWSTR lpServer,
357  _In_ LPCWSTR lpDomain,
358  _In_opt_ LPCWSTR lpAccount,
359  _In_opt_ LPCWSTR lpPassword,
360  _Out_ DWORD *OUCount,
361  _Out_ LPWSTR **OUs)
362 {
363  PJOINPR_ENCRYPTED_USER_PASSWORD EncryptedPassword = NULL;
366 
367  TRACE("NetGetJoinableOUs(%s %s %s %s %p %p)\n",
368  debugstr_w(lpServer), debugstr_w(lpDomain), debugstr_w(lpAccount),
369  debugstr_w(lpPassword), OUCount, OUs);
370 
371  /* FIXME */
372 
373  status = NetpBind(lpServer,
374  &BindingHandle);
375  if (status != NERR_Success)
376  {
377  ERR("NetpBind() failed (status 0x%lx)\n", status);
378  return status;
379  }
380 
382  {
384  (PWSTR)lpServer,
385  (PWSTR)lpDomain,
386  (PWSTR)lpAccount,
387  EncryptedPassword,
388  OUCount,
389  OUs);
390  }
392  {
394  }
395  RpcEndExcept;
396 
398 
399  return status;
400 }
401 
402 
404 WINAPI
406  _In_opt_ LPCWSTR lpServer,
407  _In_ LPCWSTR lpDomain,
408  _In_opt_ LPCWSTR lpAccountOU,
409  _In_opt_ LPCWSTR lpAccount,
410  _In_opt_ LPCWSTR lpPassword,
411  _In_ DWORD fJoinOptions)
412 {
413  PJOINPR_ENCRYPTED_USER_PASSWORD EncryptedPassword = NULL;
416 
417  FIXME("NetJoinDomain(%s %s %s %s 0x%lx)\n",
418  debugstr_w(lpServer), debugstr_w(lpDomain), debugstr_w(lpAccountOU),
419  debugstr_w(lpAccount), debugstr_w(lpPassword), fJoinOptions);
420 
421  /* FIXME */
422 
423  status = NetpBind(lpServer,
424  &BindingHandle);
425  if (status != NERR_Success)
426  {
427  ERR("NetpBind() failed (status 0x%lx)\n", status);
428  return status;
429  }
430 
432  {
434  (PWSTR)lpServer,
435  (PWSTR)lpDomain,
436  (PWSTR)lpAccountOU,
437  (PWSTR)lpAccount,
438  EncryptedPassword,
439  fJoinOptions);
440  }
442  {
443  RPC_STATUS rpcStatus = RpcExceptionCode();
444  FIXME("Exception 0x%lx\n", rpcStatus);
445  status = I_RpcMapWin32Status(rpcStatus);
446  }
447  RpcEndExcept;
448 
450 
451  return status;
452 }
453 
454 
456 WINAPI
459  _In_ LPCWSTR AlternateName,
460  _In_opt_ LPCWSTR DomainAccount,
461  _In_opt_ LPCWSTR DomainAccountPassword,
463 {
464  PJOINPR_ENCRYPTED_USER_PASSWORD EncryptedPassword = NULL;
467 
468  TRACE("NetRemoveAlternateComputerName(%s %s %s %s 0x%lx)\n",
469  debugstr_w(Server), debugstr_w(AlternateName), debugstr_w(DomainAccount),
470  debugstr_w(DomainAccountPassword), Reserved);
471 
472  /* FIXME */
473 
475  &BindingHandle);
476  if (status != NERR_Success)
477  {
478  ERR("NetpBind() failed (status 0x%lx)\n", status);
479  return status;
480  }
481 
483  {
485  (PWSTR)Server,
486  (PWSTR)AlternateName,
487  (PWSTR)DomainAccount,
488  EncryptedPassword,
489  Reserved);
490  }
492  {
494  }
495  RpcEndExcept;
496 
498 
499  return status;
500 }
501 
502 
504 WINAPI
506  _In_opt_ LPCWSTR lpServer,
507  _In_opt_ LPCWSTR lpNewMachineName,
508  _In_opt_ LPCWSTR lpAccount,
509  _In_opt_ LPCWSTR lpPassword,
510  _In_ DWORD fRenameOptions)
511 {
512  PJOINPR_ENCRYPTED_USER_PASSWORD EncryptedPassword = NULL;
515 
516  TRACE("NetRenameMachineInDomain(%s %s %s %s 0x%lx)\n",
517  debugstr_w(lpServer), debugstr_w(lpNewMachineName), debugstr_w(lpAccount),
518  debugstr_w(lpPassword), fRenameOptions);
519 
520  /* FIXME */
521 
522  status = NetpBind(lpServer,
523  &BindingHandle);
524  if (status != NERR_Success)
525  {
526  ERR("NetpBind() failed (status 0x%lx)\n", status);
527  return status;
528  }
529 
531  {
533  (PWSTR)lpServer,
534  (PWSTR)lpNewMachineName,
535  (PWSTR)lpAccount,
536  EncryptedPassword,
537  fRenameOptions);
538  }
540  {
542  }
543  RpcEndExcept;
544 
546 
547  return status;
548 }
549 
550 
552 WINAPI
555  _In_ LPCWSTR PrimaryName,
556  _In_opt_ LPCWSTR DomainAccount,
557  _In_opt_ LPCWSTR DomainAccountPassword,
559 {
560  PJOINPR_ENCRYPTED_USER_PASSWORD EncryptedPassword = NULL;
563 
564  TRACE("NetSetPrimaryComputerName(%s %s %s %s %lu)\n",
565  debugstr_w(Server), debugstr_w(PrimaryName), debugstr_w(DomainAccount),
566  debugstr_w(DomainAccountPassword), Reserved);
567 
568  /* FIXME */
569 
571  &BindingHandle);
572  if (status != NERR_Success)
573  {
574  ERR("NetpBind() failed (status 0x%lx)\n", status);
575  return status;
576  }
577 
579  {
581  (PWSTR)Server,
582  (PWSTR)PrimaryName,
583  (PWSTR)DomainAccount,
584  EncryptedPassword,
585  Reserved);
586  }
588  {
590  }
591  RpcEndExcept;
592 
594 
595  return status;
596 }
597 
598 
600 WINAPI
602  _In_opt_ LPCWSTR lpServer,
603  _In_opt_ LPCWSTR lpAccount,
604  _In_opt_ LPCWSTR lpPassword,
605  _In_ DWORD fUnjoinOptions)
606 {
607  PJOINPR_ENCRYPTED_USER_PASSWORD EncryptedPassword = NULL;
610 
611  TRACE("NetUnjoinDomain(%s %s %s %s 0x%lx)\n",
612  debugstr_w(lpServer), debugstr_w(lpAccount),
613  debugstr_w(lpPassword), fUnjoinOptions);
614 
615  /* FIXME */
616 
617  status = NetpBind(lpServer,
618  &BindingHandle);
619  if (status != NERR_Success)
620  {
621  ERR("NetpBind() failed (status 0x%lx)\n", status);
622  return status;
623  }
624 
626  {
628  (PWSTR)lpServer,
629  (PWSTR)lpAccount,
630  EncryptedPassword,
631  fUnjoinOptions);
632  }
634  {
636  }
637  RpcEndExcept;
638 
640 
641  return status;
642 }
643 
644 
646 WINAPI
648  _In_ LMSTR UncServerName,
649  _In_ DWORD Level,
650  _In_ LPBYTE Buf,
651  _Out_ LPDWORD ParmError)
652 {
654 
655  TRACE("NetUseAdd(%s %d %p %p)\n", debugstr_w(UncServerName),
656  Level, Buf, ParmError);
657 
659  {
660  status = NetrUseAdd(UncServerName,
661  Level,
662  (LPUSE_INFO)Buf,
663  ParmError);
664  }
666  {
668  }
669  RpcEndExcept;
670 
671  return status;
672 }
673 
674 
676 WINAPI
678  _In_ LMSTR UncServerName,
679  _In_ LMSTR UseName,
680  _In_ DWORD ForceCond)
681 {
683 
684  TRACE("NetUseDel(%s %s %d)\n", debugstr_w(UncServerName),
685  debugstr_w(UseName), ForceCond);
686 
688  {
689  status = NetrUseDel(UncServerName,
690  UseName,
691  ForceCond);
692  }
694  {
696  }
697  RpcEndExcept;
698 
699  return status;
700 }
701 
702 
704 WINAPI
706  _In_ LMSTR UncServerName,
707  _In_ DWORD Level,
708  _Out_ LPBYTE *BufPtr,
709  _In_ DWORD PreferedMaximumSize,
710  _Out_ LPDWORD EntriesRead,
711  _Out_ LPDWORD TotalEntries,
712  _Inout_ LPDWORD ResumeHandle)
713 {
714  USE_ENUM_STRUCT UseEnumInfo;
715  USE_INFO_0_CONTAINER Container0;
716  USE_INFO_1_CONTAINER Container1;
717  USE_INFO_2_CONTAINER Container2;
719 
720  TRACE("NetUseEnum(%s, %d, %p, %d, %p, %p, %p)\n", debugstr_w(UncServerName),
721  Level, BufPtr, PreferedMaximumSize, EntriesRead, TotalEntries, ResumeHandle);
722 
723  UseEnumInfo.Level = Level;
724  switch (Level)
725  {
726  case 0:
727  UseEnumInfo.UseInfo.Level0 = &Container0;
728  Container0.EntriesRead = 0;
729  Container0.Buffer = NULL;
730  break;
731 
732  case 1:
733  UseEnumInfo.UseInfo.Level1 = &Container1;
734  Container1.EntriesRead = 0;
735  Container1.Buffer = NULL;
736  break;
737 
738  case 2:
739  UseEnumInfo.UseInfo.Level2 = &Container2;
740  Container2.EntriesRead = 0;
741  Container2.Buffer = NULL;
742  break;
743 
744  default:
746  }
747 
749  {
750  status = NetrUseEnum(UncServerName,
751  &UseEnumInfo,
752  PreferedMaximumSize,
753  TotalEntries,
754  ResumeHandle);
756  {
757  switch (Level)
758  {
759  case 0:
760  *BufPtr = (LPBYTE)UseEnumInfo.UseInfo.Level0->Buffer;
761  *EntriesRead = UseEnumInfo.UseInfo.Level0->EntriesRead;
762  break;
763 
764  case 1:
765  *BufPtr = (LPBYTE)UseEnumInfo.UseInfo.Level1->Buffer;
766  *EntriesRead = UseEnumInfo.UseInfo.Level1->EntriesRead;
767  break;
768 
769  case 2:
770  *BufPtr = (LPBYTE)UseEnumInfo.UseInfo.Level2->Buffer;
771  *EntriesRead = UseEnumInfo.UseInfo.Level2->EntriesRead;
772  break;
773  }
774  }
775  }
777  {
779  }
780  RpcEndExcept;
781 
782  return status;
783 }
784 
785 
787 WINAPI
789  _In_ LMSTR UncServerName,
790  _In_ LMSTR UseName,
791  _In_ DWORD Level,
792  _Out_ LPBYTE *BufPtr)
793 {
795 
796  TRACE("NetUseGetInfo(%s, %s, %d, %p)\n", debugstr_w(UncServerName),
797  debugstr_w(UseName), Level, BufPtr);
798 
799  *BufPtr = NULL;
800 
802  {
803  status = NetrUseGetInfo(UncServerName,
804  UseName,
805  Level,
806  (LPUSE_INFO)BufPtr);
807  }
809  {
811  }
812  RpcEndExcept;
813 
814  return status;
815 }
816 
817 
819 WINAPI
821  _In_opt_ LPCWSTR lpServer,
823  _In_opt_ LPCWSTR lpAccount,
824  _In_opt_ LPCWSTR lpPassword,
826 {
827  PJOINPR_ENCRYPTED_USER_PASSWORD EncryptedPassword = NULL;
830 
831  TRACE("NetValidateName(%s %s %s %s %u)\n",
832  debugstr_w(lpServer), debugstr_w(lpName), debugstr_w(lpAccount),
833  debugstr_w(lpPassword), NameType);
834 
835  /* FIXME */
836 
837  status = NetpBind(lpServer,
838  &BindingHandle);
839  if (status != NERR_Success)
840  {
841  ERR("NetpBind() failed (status 0x%lx)\n", status);
842  return status;
843  }
844 
846  {
848  (PWSTR)lpServer,
849  (PWSTR)lpName,
850  (PWSTR)lpAccount,
851  EncryptedPassword,
852  NameType);
853  }
855  {
857  }
858  RpcEndExcept;
859 
861 
862  return status;
863 }
864 
865 
867 WINAPI
869  _In_ LPWSTR servername,
870  _In_ DWORD level,
872 {
874 
875  TRACE("NetWkstaGetInfo(%s, %d, %p)\n",
876  debugstr_w(servername), level, bufptr);
877 
878  if (bufptr == NULL)
880 
881  *bufptr = NULL;
882 
884  {
885  status = NetrWkstaGetInfo(servername,
886  level,
887  (LPWKSTA_INFO*)bufptr);
888  }
890  {
892  }
893  RpcEndExcept;
894 
895  return status;
896 }
897 
898 
900 WINAPI
902  _In_ LPWSTR servername,
903  _In_ DWORD level,
905  _Out_ LPDWORD parm_err)
906 {
908 
909  TRACE("NetWkstaSetInfo(%s, %d, %p, %p)\n",
910  debugstr_w(servername), level, buffer, parm_err);
911 
913  {
914  status = NetrWkstaSetInfo(servername,
915  level,
917  parm_err);
918  }
920  {
922  }
923  RpcEndExcept;
924 
925  return status;
926 }
927 
928 
930 WINAPI
932  _In_opt_ LPWSTR servername,
933  _In_ DWORD level,
934  _In_ LPBYTE buf,
935  _Out_ LPDWORD parm_err)
936 {
938 
939  TRACE("NetWkstaTransportAdd(%s, %d, %p, %p)\n", debugstr_w(servername),
940  level, buf, parm_err);
941 
943  {
944  status = NetrWkstaTransportAdd(servername,
945  level,
947  parm_err);
948  }
950  {
952  }
953  RpcEndExcept;
954 
955  return status;
956 }
957 
958 
960 WINAPI
962  _In_opt_ LPWSTR servername,
963  _In_ LPWSTR transportname,
964  _In_ DWORD ucond)
965 {
967 
968  TRACE("NetWkstaTransportDel(%s, %s, %d)\n", debugstr_w(servername),
969  debugstr_w(transportname), ucond);
970 
972  {
973  status = NetrWkstaTransportDel(servername,
974  transportname,
975  ucond);
976  }
978  {
980  }
981  RpcEndExcept;
982 
983  return status;
984 }
985 
986 
987 #if 0
989 WINAPI
991  _In_opt_ LPWSTR servername,
992  _In_ DWORD level,
995  _Out_ LPDWORD entriesread,
996  _Out_ LPDWORD totalentries,
997  _Inout_ LPDWORD resumehandle)
998 {
999  WKSTA_TRANSPORT_ENUM_STRUCT TransportEnumInfo;
1002 
1003  TRACE("NetWkstaTransportEnum(%s, %d, %p, %d, %p, %p, %p)\n", debugstr_w(servername),
1004  level, bufptr, prefmaxlen, entriesread, totalentries, resumehandle);
1005 
1006  TransportEnumInfo.Level = level;
1007  switch (level)
1008  {
1009  case 0:
1010  TransportEnumInfo.WkstaTransportInfo.Level0 = &Container0;
1011  Container0.EntriesRead = 0;
1012  Container0.Buffer = NULL;
1013  break;
1014 
1015  default:
1016  return ERROR_INVALID_PARAMETER;
1017  }
1018 
1019  RpcTryExcept
1020  {
1021  status = NetrWkstaTransportEnum(servername,
1022  &TransportEnumInfo,
1023  prefmaxlen,
1024  totalentries,
1025  resumehandle);
1027  {
1028  switch (level)
1029  {
1030  case 0:
1031  *bufptr = (LPBYTE)TransportEnumInfo.WkstaTransportInfo.Level0->Buffer;
1032  *entriesread = TransportEnumInfo.WkstaTransportInfo.Level0->EntriesRead;
1033  break;
1034  }
1035  }
1036  }
1038  {
1040  }
1041  RpcEndExcept;
1042 
1043  return status;
1044 }
1045 #endif
1046 
1047 
1049 WINAPI
1051  _In_ LPWSTR servername,
1052  _In_ DWORD level,
1053  _Out_ LPBYTE *bufptr,
1055  _Out_ LPDWORD entriesread,
1056  _Out_ LPDWORD totalentries,
1057  _Inout_ LPDWORD resumehandle)
1058 {
1059  WKSTA_USER_ENUM_STRUCT UserEnumInfo;
1060  WKSTA_USER_INFO_0_CONTAINER Container0;
1061  WKSTA_USER_INFO_1_CONTAINER Container1;
1063 
1064  TRACE("NetWkstaUserEnum(%s, %d, %p, %d, %p, %p, %p)\n", debugstr_w(servername),
1065  level, bufptr, prefmaxlen, entriesread, totalentries, resumehandle);
1066 
1067  UserEnumInfo.Level = level;
1068  switch (level)
1069  {
1070  case 0:
1071  UserEnumInfo.WkstaUserInfo.Level0 = &Container0;
1072  Container0.EntriesRead = 0;
1073  Container0.Buffer = NULL;
1074  break;
1075 
1076  case 1:
1077  UserEnumInfo.WkstaUserInfo.Level1 = &Container1;
1078  Container1.EntriesRead = 0;
1079  Container1.Buffer = NULL;
1080  break;
1081 
1082  default:
1083  return ERROR_INVALID_PARAMETER;
1084  }
1085 
1086  RpcTryExcept
1087  {
1088  status = NetrWkstaUserEnum(servername,
1089  &UserEnumInfo,
1090  prefmaxlen,
1091  totalentries,
1092  resumehandle);
1094  {
1095  switch (level)
1096  {
1097  case 0:
1098  *bufptr = (LPBYTE)UserEnumInfo.WkstaUserInfo.Level0->Buffer;
1099  *entriesread = UserEnumInfo.WkstaUserInfo.Level0->EntriesRead;
1100  break;
1101 
1102  case 1:
1103  *bufptr = (LPBYTE)UserEnumInfo.WkstaUserInfo.Level1->Buffer;
1104  *entriesread = UserEnumInfo.WkstaUserInfo.Level1->EntriesRead;
1105  break;
1106  }
1107  }
1108  }
1110  {
1112  }
1113  RpcEndExcept;
1114 
1115  return status;
1116 }
1117 
1118 
1119 #if 0
1121 WINAPI
1123  LPWSTR reserved,
1124  _In_ DWORD level,
1125  _Out_ PBYTE *bufptr)
1126 {
1128 
1129  TRACE("NetWkstaUserGetInfo(%s, %d, %p)\n",
1131 
1132  if (reserved != NULL)
1133  return ERROR_INVALID_PARAMETER;
1134 
1135  *bufptr = NULL;
1136 
1137  RpcTryExcept
1138  {
1140  level,
1142  }
1144  {
1146  }
1147  RpcEndExcept;
1148 
1149  return status;
1150 }
1151 #endif
1152 
1153 
1155 WINAPI
1157  LPWSTR reserved,
1158  _In_ DWORD level,
1159  _In_ LPBYTE buf,
1160  _Out_ LPDWORD parm_err)
1161 {
1163 
1164  TRACE("NetWkstaSetInfo(%s, %d, %p, %p)\n",
1165  debugstr_w(reserved), level, buf, parm_err);
1166 
1167  if (reserved != NULL)
1168  return ERROR_INVALID_PARAMETER;
1169 
1170  RpcTryExcept
1171  {
1173  level,
1175  parm_err);
1176  }
1178  {
1180  }
1181  RpcEndExcept;
1182 
1183  return status;
1184 }
1185 
1186 /* EOF */
NET_API_STATUS WINAPI NetApiBufferAllocate(DWORD ByteCount, LPVOID *Buffer)
Definition: apibuf.c:28
#define ERROR_INVALID_PARAMETER
Definition: compat.h:101
RPC_STATUS WINAPI RpcBindingFromStringBindingW(RPC_WSTR StringBinding, RPC_BINDING_HANDLE *Binding)
Definition: rpc_binding.c:876
LPWKSTA_TRANSPORT_INFO_0 Buffer
Definition: wkssvc.idl:321
union _USE_ENUM_STRUCT::_USE_ENUM_UNION UseInfo
GLint level
Definition: gl.h:1546
unsigned long EntriesRead
Definition: wkssvc.idl:303
#define RpcEndExcept
Definition: rpc.h:128
WCHAR * LMSTR
Definition: ms-dtyp.idl:119
RPC_STATUS WINAPI RpcBindingFree(RPC_BINDING_HANDLE *Binding)
Definition: rpc_binding.c:783
LPWKSTA_USER_INFO_1_CONTAINER Level1
Definition: wkssvc.idl:313
#define _In_opt_
Definition: ms_sal.h:309
unsigned long __stdcall NetrWkstaSetInfo(WKSSVC_IDENTIFY_HANDLE ServerName, unsigned long Level, LPWKSTA_INFO WkstaInfo, unsigned long *ErrorParameter)
Definition: rpcserver.c:227
#define _Inout_
Definition: ms_sal.h:378
static unsigned int bufptr
Definition: tncon.cpp:77
unsigned long __stdcall NetrWkstaUserGetInfo(WKSSVC_IDENTIFY_HANDLE Unused, unsigned long Level, LPWKSTA_USER_INFO UserInfo)
Definition: rpcserver.c:260
enum _NET_COMPUTER_NAME_TYPE NET_COMPUTER_NAME_TYPE
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
NET_API_STATUS WINAPI NetUseGetInfo(_In_ LMSTR UncServerName, _In_ LMSTR UseName, _In_ DWORD Level, _Out_ LPBYTE *BufPtr)
Definition: wksta_new.c:788
handle_t hBinding
Definition: ctx_c.c:54
RPC_STATUS WINAPI RpcStringFreeW(RPC_WSTR *String)
Definition: rpcrt4_main.c:174
#define _Out_
Definition: ms_sal.h:345
uint16_t * PWSTR
Definition: typedefs.h:56
unsigned long EntriesRead
Definition: wkssvc.idl:267
unsigned long __stdcall NetrAddAlternateComputerName(handle_t RpcBindingHandle, wchar_t *ServerName, wchar_t *AlternateName, wchar_t *DomainAccount, PJOINPR_ENCRYPTED_USER_PASSWORD EncryptedPassword, unsigned long Reserved)
Definition: rpcserver.c:624
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
Definition: fsrtlfuncs.h:898
_In_ LPCSTR lpName
Definition: winbase.h:2768
NET_API_STATUS WINAPI NetRenameMachineInDomain(_In_opt_ LPCWSTR lpServer, _In_opt_ LPCWSTR lpNewMachineName, _In_opt_ LPCWSTR lpAccount, _In_opt_ LPCWSTR lpPassword, _In_ DWORD fRenameOptions)
Definition: wksta_new.c:505
#define ZeroMemory
Definition: winbase.h:1664
_In_ ULONG _Out_ HANDLE * BindingHandle
Definition: tdikrnl.h:1146
GLuint buffer
Definition: glext.h:5915
void __RPC_FAR *__RPC_USER midl_user_allocate(SIZE_T len)
Definition: wksta_new.c:19
wchar_t * WKSSVC_IMPERSONATE_HANDLE
Definition: wkssvc.idl:8
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
Definition: wmitypes.h:55
NET_API_STATUS WINAPI NetUnjoinDomain(_In_opt_ LPCWSTR lpServer, _In_opt_ LPCWSTR lpAccount, _In_opt_ LPCWSTR lpPassword, _In_ DWORD fUnjoinOptions)
Definition: wksta_new.c:601
NET_API_STATUS WINAPI NetWkstaTransportAdd(_In_opt_ LPWSTR servername, _In_ DWORD level, _In_ LPBYTE buf, _Out_ LPDWORD parm_err)
Definition: wksta_new.c:931
static void Server(int port)
Definition: srltest.c:69
void __RPC_USER midl_user_free(void __RPC_FAR *ptr)
Definition: wksta_new.c:25
NET_API_STATUS WINAPI NetEnumerateComputerNames(_In_opt_ LPCWSTR Server, _In_ NET_COMPUTER_NAME_TYPE NameType, _In_ ULONG Reserved, _Out_ PDWORD EntryCount, _Out_ LPWSTR **ComputerNames)
Definition: wksta_new.c:255
RPC_STATUS WINAPI RpcStringBindingComposeW(RPC_WSTR ObjUuid, RPC_WSTR Protseq, RPC_WSTR NetworkAddr, RPC_WSTR Endpoint, RPC_WSTR Options, RPC_WSTR *StringBinding)
Definition: rpc_binding.c:510
unsigned long __stdcall NetrWkstaTransportEnum(WKSSVC_IDENTIFY_HANDLE ServerName, LPWKSTA_TRANSPORT_ENUM_STRUCT TransportInfo, unsigned long PreferredMaximumLength, unsigned long *TotalEntries, unsigned long *ResumeHandle)
Definition: rpcserver.c:289
unsigned long __stdcall NetrGetJoinableOUs2(handle_t RpcBindingHandle, wchar_t *ServerName, wchar_t *DomainNameParam, wchar_t *AccountName, PJOINPR_ENCRYPTED_USER_PASSWORD Password, unsigned long *OUCount, wchar_t ***OUs)
Definition: rpcserver.c:607
unsigned long __stdcall NetrUseAdd(WKSSVC_IMPERSONATE_HANDLE ServerName, unsigned long Level, LPUSE_INFO InfoStruct, unsigned long *ErrorParameter)
Definition: rpcserver.c:331
#define NERR_Success
Definition: lmerr.h:5
uint32_t ULONG_PTR
Definition: typedefs.h:65
unsigned long __stdcall NetrWkstaTransportDel(WKSSVC_IDENTIFY_HANDLE ServerName, wchar_t *TransportName, unsigned long ForceLevel)
Definition: rpcserver.c:318
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
LPUSE_INFO_0 Buffer
Definition: wkssvc.idl:268
long RPC_STATUS
Definition: rpc.h:52
#define L(x)
Definition: ntvdm.h:50
unsigned char * LPBYTE
Definition: typedefs.h:53
NET_API_STATUS WINAPI NetValidateName(_In_opt_ LPCWSTR lpServer, _In_ LPCWSTR lpName, _In_opt_ LPCWSTR lpAccount, _In_opt_ LPCWSTR lpPassword, _In_ NETSETUP_NAME_TYPE NameType)
Definition: wksta_new.c:820
unsigned long __stdcall NetrUseDel(WKSSVC_IMPERSONATE_HANDLE ServerName, wchar_t *UseName, unsigned long ForceLevel)
Definition: rpcserver.c:359
NET_API_STATUS WINAPI NetAddAlternateComputerName(_In_opt_ LPCWSTR Server, _In_ LPCWSTR AlternateName, _In_opt_ LPCWSTR DomainAccount, _In_opt_ LPCWSTR DomainAccountPassword, _In_ ULONG Reserved)
Definition: wksta_new.c:207
unsigned long EntryCount
Definition: wkssvc.idl:359
#define debugstr_w
Definition: kernel32.h:32
LPUSE_INFO_1 Buffer
Definition: wkssvc.idl:274
void __RPC_USER WKSSVC_IMPERSONATE_HANDLE_unbind(WKSSVC_IMPERSONATE_HANDLE pszSystemName, handle_t hBinding)
Definition: wksta_new.c:126
#define FIXME(fmt,...)
Definition: debug.h:111
static PVOID ptr
Definition: dispmode.c:27
#define RpcTryExcept
Definition: rpc.h:126
r reserved
Definition: btrfs.c:2940
unsigned long Level
Definition: wkssvc.idl:309
unsigned long EntriesRead
Definition: wkssvc.idl:279
unsigned long EntriesRead
Definition: wkssvc.idl:273
NET_API_STATUS NetpUnbind(handle_t BindingHandle)
Definition: wksta_new.c:187
LPUSE_INFO_0_CONTAINER Level0
Definition: wkssvc.idl:288
void __RPC_USER WKSSVC_IDENTIFY_HANDLE_unbind(WKSSVC_IDENTIFY_HANDLE pszSystemName, handle_t hBinding)
Definition: wksta_new.c:71
#define _In_
Definition: ms_sal.h:308
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
NET_API_STATUS WINAPI NetRemoveAlternateComputerName(_In_opt_ LPCWSTR Server, _In_ LPCWSTR AlternateName, _In_opt_ LPCWSTR DomainAccount, _In_opt_ LPCWSTR DomainAccountPassword, _In_ ULONG Reserved)
Definition: wksta_new.c:457
#define __RPC_FAR
Definition: rpc.h:56
enum _NETSETUP_NAME_TYPE NETSETUP_NAME_TYPE
#define __RPC_USER
Definition: rpc.h:65
unsigned long __stdcall NetrValidateName2(handle_t RpcBindingHandle, wchar_t *ServerName, wchar_t *NameToValidate, wchar_t *AccountName, PJOINPR_ENCRYPTED_USER_PASSWORD Password, NETSETUP_NAME_TYPE NameType)
Definition: rpcserver.c:591
static LPSTR lpNameBuffer
Definition: secur32.c:50
DWORD NET_API_STATUS
Definition: ms-dtyp.idl:91
NET_API_STATUS WINAPI NetWkstaUserGetInfo(LMSTR reserved, DWORD level, PBYTE *bufptr)
Definition: wksta.c:279
NET_API_STATUS WINAPI NetGetJoinableOUs(_In_opt_ LPCWSTR lpServer, _In_ LPCWSTR lpDomain, _In_opt_ LPCWSTR lpAccount, _In_opt_ LPCWSTR lpPassword, _Out_ DWORD *OUCount, _Out_ LPWSTR **OUs)
Definition: wksta_new.c:355
unsigned long EntriesRead
Definition: wkssvc.idl:297
#define RpcExceptionCode()
Definition: rpc.h:132
NET_API_STATUS WINAPI NetGetJoinInformation(_In_ LPCWSTR lpServer, _Out_ LPWSTR *lpNameBuffer, _Out_ PNETSETUP_JOIN_STATUS BufferType)
Definition: wksta_new.c:317
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:595
unsigned long __stdcall NetrUseEnum(WKSSVC_IDENTIFY_HANDLE ServerName, LPUSE_ENUM_STRUCT InfoStruct, unsigned long PreferredMaximumLength, unsigned long *TotalEntries, unsigned long *ResumeHandle)
Definition: rpcserver.c:372
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
union _WKSTA_USER_ENUM_STRUCT::_WKSTA_USER_ENUM_UNION WkstaUserInfo
unsigned long __stdcall NetrUnjoinDomain2(handle_t RpcBindingHandle, wchar_t *ServerName, wchar_t *AccountName, PJOINPR_ENCRYPTED_USER_PASSWORD Password, unsigned long Options)
Definition: rpcserver.c:560
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned long __stdcall NetrGetJoinInformation(WKSSVC_IMPERSONATE_HANDLE ServerName, wchar_t **NameBuffer, PNETSETUP_JOIN_STATUS BufferType)
Definition: rpcserver.c:496
unsigned long __stdcall NetrWkstaTransportAdd(WKSSVC_IDENTIFY_HANDLE ServerName, unsigned long Level, LPWKSTA_TRANSPORT_INFO_0 TransportInfo, unsigned long *ErrorParameter)
Definition: rpcserver.c:304
LPWKSTA_USER_INFO_0_CONTAINER Level0
Definition: wkssvc.idl:312
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
unsigned long __stdcall NetrSetPrimaryComputerName(handle_t RpcBindingHandle, wchar_t *ServerName, wchar_t *PrimaryName, wchar_t *DomainAccount, PJOINPR_ENCRYPTED_USER_PASSWORD EncryptedPassword, unsigned long Reserved)
Definition: rpcserver.c:656
#define WINAPI
Definition: msvc.h:6
#define CopyMemory
Definition: winbase.h:1662
unsigned long DWORD
Definition: ntddk_ex.h:95
handle_t __RPC_USER WKSSVC_IDENTIFY_HANDLE_bind(WKSSVC_IDENTIFY_HANDLE pszSystemName)
Definition: wksta_new.c:32
unsigned long __stdcall NetrUseGetInfo(WKSSVC_IMPERSONATE_HANDLE ServerName, wchar_t *UseName, unsigned long Level, LPUSE_INFO InfoStruct)
Definition: rpcserver.c:345
unsigned long __stdcall NetrWkstaUserEnum(WKSSVC_IDENTIFY_HANDLE ServerName, LPWKSTA_USER_ENUM_STRUCT UserInfo, unsigned long PreferredMaximumLength, unsigned long *TotalEntries, unsigned long *ResumeHandle)
Definition: rpcserver.c:241
union _WKSTA_TRANSPORT_ENUM_STRUCT::_WKSTA_TRANSPORT_ENUM_UNION WkstaTransportInfo
NET_API_STATUS WINAPI NetWkstaUserSetInfo(LPWSTR reserved, _In_ DWORD level, _In_ LPBYTE buf, _Out_ LPDWORD parm_err)
Definition: wksta_new.c:1156
NET_API_STATUS WINAPI NetpNtStatusToApiStatus(_In_ NTSTATUS Status)
Definition: misc.c:289
PUNICODE_STRING ComputerNames
Definition: wkssvc.idl:360
NET_API_STATUS WINAPI NetWkstaSetInfo(_In_ LPWSTR servername, _In_ DWORD level, _In_ LPBYTE buffer, _Out_ LPDWORD parm_err)
Definition: wksta_new.c:901
unsigned long __stdcall NetrJoinDomain2(handle_t RpcBindingHandle, wchar_t *ServerName, wchar_t *DomainNameParam, wchar_t *MachineAccountOU, wchar_t *AccountName, PJOINPR_ENCRYPTED_USER_PASSWORD Password, unsigned long Options)
Definition: rpcserver.c:525
GLenum GLsizei len
Definition: glext.h:6722
LPWKSTA_USER_INFO_0 Buffer
Definition: wkssvc.idl:298
LPUSE_INFO_2 Buffer
Definition: wkssvc.idl:280
unsigned long __stdcall NetrWkstaUserSetInfo(WKSSVC_IDENTIFY_HANDLE Unused, unsigned long Level, LPWKSTA_USER_INFO UserInfo, unsigned long *ErrorParameter)
Definition: rpcserver.c:275
enum _NETSETUP_JOIN_STATUS * PNETSETUP_JOIN_STATUS
#define ERROR_MORE_DATA
Definition: dderror.h:13
LPUSE_INFO_1_CONTAINER Level1
Definition: wkssvc.idl:289
#define ERR(fmt,...)
Definition: debug.h:110
NET_API_STATUS WINAPI NetUseAdd(_In_ LMSTR UncServerName, _In_ DWORD Level, _In_ LPBYTE Buf, _Out_ LPDWORD ParmError)
Definition: wksta_new.c:647
ULONG_PTR SIZE_T
Definition: typedefs.h:80
NET_API_STATUS WINAPI NetUseEnum(_In_ LMSTR UncServerName, _In_ DWORD Level, _Out_ LPBYTE *BufPtr, _In_ DWORD PreferedMaximumSize, _Out_ LPDWORD EntriesRead, _Out_ LPDWORD TotalEntries, _Inout_ LPDWORD ResumeHandle)
Definition: wksta_new.c:705
unsigned long __stdcall NetrRemoveAlternateComputerName(handle_t RpcBindingHandle, wchar_t *ServerName, wchar_t *AlternateName, wchar_t *DomainAccount, PJOINPR_ENCRYPTED_USER_PASSWORD EncryptedPassword, unsigned long Reserved)
Definition: rpcserver.c:640
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
NET_API_STATUS WINAPI NetWkstaUserEnum(_In_ LPWSTR servername, _In_ DWORD level, _Out_ LPBYTE *bufptr, _In_ DWORD prefmaxlen, _Out_ LPDWORD entriesread, _Out_ LPDWORD totalentries, _Inout_ LPDWORD resumehandle)
Definition: wksta_new.c:1050
handle_t __RPC_USER WKSSVC_IMPERSONATE_HANDLE_bind(WKSSVC_IMPERSONATE_HANDLE pszSystemName)
Definition: wksta_new.c:87
#define NULL
Definition: types.h:112
NET_API_STATUS NetpBind(LPCWSTR pszServerName, handle_t *pBindingHandle)
Definition: wksta_new.c:142
unsigned long __stdcall NetrRenameMachineInDomain2(handle_t RpcBindingHandle, wchar_t *ServerName, wchar_t *MachineName, wchar_t *AccountName, PJOINPR_ENCRYPTED_USER_PASSWORD Password, unsigned long Options)
Definition: rpcserver.c:575
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
DWORD * PDWORD
Definition: pedump.c:68
unsigned long __stdcall NetrWkstaGetInfo(WKSSVC_IDENTIFY_HANDLE ServerName, unsigned long Level, LPWKSTA_INFO *WkstaInfo)
Definition: rpcserver.c:83
NET_API_STATUS WINAPI NetWkstaTransportEnum(LMSTR ServerName, DWORD level, PBYTE *pbuf, DWORD prefmaxlen, LPDWORD read_entries, PDWORD total_entries, PDWORD hresume)
Definition: wksta.c:221
uint32_t * LPDWORD
Definition: typedefs.h:59
WINE_DEFAULT_DEBUG_CHANNEL(netapi32)
unsigned int ULONG
Definition: retypes.h:1
LPUSE_INFO_2_CONTAINER Level2
Definition: wkssvc.idl:290
NET_API_STATUS WINAPI NetUseDel(_In_ LMSTR UncServerName, _In_ LMSTR UseName, _In_ DWORD ForceCond)
Definition: wksta_new.c:677
NET_API_STATUS WINAPI NetWkstaTransportDel(_In_opt_ LPWSTR servername, _In_ LPWSTR transportname, _In_ DWORD ucond)
Definition: wksta_new.c:961
NET_API_STATUS WINAPI NetSetPrimaryComputerName(_In_opt_ LPCWSTR Server, _In_ LPCWSTR PrimaryName, _In_opt_ LPCWSTR DomainAccount, _In_opt_ LPCWSTR DomainAccountPassword, _In_ ULONG Reserved)
Definition: wksta_new.c:553
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:654
WCHAR * LPWSTR
Definition: xmlstorage.h:184
LPWKSTA_TRANSPORT_INFO_0_CONTAINER Level0
Definition: wkssvc.idl:329
static SERVICE_STATUS status
Definition: service.c:31
BYTE * PBYTE
Definition: pedump.c:66
#define HeapFree(x, y, z)
Definition: compat.h:594
LPWKSTA_USER_INFO_1 Buffer
Definition: wkssvc.idl:304
NET_API_STATUS WINAPI NetJoinDomain(_In_opt_ LPCWSTR lpServer, _In_ LPCWSTR lpDomain, _In_opt_ LPCWSTR lpAccountOU, _In_opt_ LPCWSTR lpAccount, _In_opt_ LPCWSTR lpPassword, _In_ DWORD fJoinOptions)
Definition: wksta_new.c:405
#define BufferSize
Definition: mmc.h:75
wchar_t * WKSSVC_IDENTIFY_HANDLE
Definition: wkssvc.idl:7
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
Definition: wdfmemory.h:251
#define RpcExcept(expr)
Definition: rpc.h:127
unsigned long __stdcall NetrEnumerateComputerNames(WKSSVC_IMPERSONATE_HANDLE ServerName, NET_COMPUTER_NAME_TYPE NameType, unsigned long Reserved, PNET_COMPUTER_NAME_ARRAY *ComputerNames)
Definition: rpcserver.c:672
LONG WINAPI I_RpcMapWin32Status(RPC_STATUS status)
Definition: rpcrt4_main.c:738
Definition: ps.c:97
NET_API_STATUS WINAPI NetWkstaGetInfo(_In_ LPWSTR servername, _In_ DWORD level, _Out_ LPBYTE *bufptr)
Definition: wksta_new.c:868