Coverage Report

Created: 2025-07-01 06:46

/src/FreeRDP/winpr/libwinpr/rpc/rpc.c
Line
Count
Source (jump to first uncovered line)
1
/**
2
 * WinPR: Windows Portable Runtime
3
 * Microsoft Remote Procedure Call (MSRPC)
4
 *
5
 * Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
6
 *
7
 * Licensed under the Apache License, Version 2.0 (the "License");
8
 * you may not use this file except in compliance with the License.
9
 * You may obtain a copy of the License at
10
 *
11
 *     http://www.apache.org/licenses/LICENSE-2.0
12
 *
13
 * Unless required by applicable law or agreed to in writing, software
14
 * distributed under the License is distributed on an "AS IS" BASIS,
15
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
 * See the License for the specific language governing permissions and
17
 * limitations under the License.
18
 */
19
20
#include <winpr/config.h>
21
22
#include <winpr/crt.h>
23
#include <winpr/rpc.h>
24
#include <winpr/crypto.h>
25
26
#if !defined(_WIN32) || defined(_UWP)
27
28
#include "../log.h"
29
#define TAG WINPR_TAG("rpc")
30
31
RPC_STATUS RpcBindingCopy(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE SourceBinding,
32
                          WINPR_ATTR_UNUSED RPC_BINDING_HANDLE* DestinationBinding)
33
0
{
34
0
  WLog_ERR(TAG, "Not implemented");
35
0
  return 0;
36
0
}
37
38
RPC_STATUS RpcBindingFree(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE* Binding)
39
0
{
40
0
  WLog_ERR(TAG, "Not implemented");
41
0
  return 0;
42
0
}
43
44
RPC_STATUS RpcBindingSetOption(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE hBinding,
45
                               WINPR_ATTR_UNUSED unsigned long option,
46
                               WINPR_ATTR_UNUSED ULONG_PTR optionValue)
47
0
{
48
0
  WLog_ERR(TAG, "Not implemented");
49
0
  return 0;
50
0
}
51
52
RPC_STATUS RpcBindingInqOption(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE hBinding,
53
                               WINPR_ATTR_UNUSED unsigned long option,
54
                               WINPR_ATTR_UNUSED ULONG_PTR* pOptionValue)
55
0
{
56
0
  WLog_ERR(TAG, "Not implemented");
57
0
  return 0;
58
0
}
59
60
RPC_STATUS RpcBindingFromStringBindingA(WINPR_ATTR_UNUSED RPC_CSTR StringBinding,
61
                                        WINPR_ATTR_UNUSED RPC_BINDING_HANDLE* Binding)
62
0
{
63
0
  WLog_ERR(TAG, "Not implemented");
64
0
  return 0;
65
0
}
66
67
RPC_STATUS RpcBindingFromStringBindingW(WINPR_ATTR_UNUSED RPC_WSTR StringBinding,
68
                                        WINPR_ATTR_UNUSED RPC_BINDING_HANDLE* Binding)
69
0
{
70
0
  WLog_ERR(TAG, "Not implemented");
71
0
  return 0;
72
0
}
73
74
RPC_STATUS RpcSsGetContextBinding(WINPR_ATTR_UNUSED void* ContextHandle,
75
                                  WINPR_ATTR_UNUSED RPC_BINDING_HANDLE* Binding)
76
0
{
77
0
  WLog_ERR(TAG, "Not implemented");
78
0
  return 0;
79
0
}
80
81
RPC_STATUS RpcBindingInqObject(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
82
                               WINPR_ATTR_UNUSED UUID* ObjectUuid)
83
0
{
84
0
  WLog_ERR(TAG, "Not implemented");
85
0
  return 0;
86
0
}
87
88
RPC_STATUS RpcBindingReset(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding)
89
0
{
90
0
  WLog_ERR(TAG, "Not implemented");
91
0
  return 0;
92
0
}
93
94
RPC_STATUS RpcBindingSetObject(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
95
                               WINPR_ATTR_UNUSED UUID* ObjectUuid)
96
0
{
97
0
  WLog_ERR(TAG, "Not implemented");
98
0
  return 0;
99
0
}
100
101
RPC_STATUS RpcMgmtInqDefaultProtectLevel(WINPR_ATTR_UNUSED unsigned long AuthnSvc,
102
                                         WINPR_ATTR_UNUSED unsigned long* AuthnLevel)
103
0
{
104
0
  WLog_ERR(TAG, "Not implemented");
105
0
  return 0;
106
0
}
107
108
RPC_STATUS RpcBindingToStringBindingA(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
109
                                      WINPR_ATTR_UNUSED RPC_CSTR* StringBinding)
110
0
{
111
0
  WLog_ERR(TAG, "Not implemented");
112
0
  return 0;
113
0
}
114
115
RPC_STATUS RpcBindingToStringBindingW(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
116
                                      WINPR_ATTR_UNUSED RPC_WSTR* StringBinding)
117
0
{
118
0
  WLog_ERR(TAG, "Not implemented");
119
0
  return 0;
120
0
}
121
122
RPC_STATUS RpcBindingVectorFree(WINPR_ATTR_UNUSED RPC_BINDING_VECTOR** BindingVector)
123
0
{
124
0
  WLog_ERR(TAG, "Not implemented");
125
0
  return 0;
126
0
}
127
128
RPC_STATUS RpcStringBindingComposeA(WINPR_ATTR_UNUSED RPC_CSTR ObjUuid,
129
                                    WINPR_ATTR_UNUSED RPC_CSTR Protseq,
130
                                    WINPR_ATTR_UNUSED RPC_CSTR NetworkAddr,
131
                                    WINPR_ATTR_UNUSED RPC_CSTR Endpoint,
132
                                    WINPR_ATTR_UNUSED RPC_CSTR Options,
133
                                    WINPR_ATTR_UNUSED RPC_CSTR* StringBinding)
134
0
{
135
0
  WLog_ERR(TAG, "Not implemented");
136
0
  return 0;
137
0
}
138
139
RPC_STATUS RpcStringBindingComposeW(WINPR_ATTR_UNUSED RPC_WSTR ObjUuid,
140
                                    WINPR_ATTR_UNUSED RPC_WSTR Protseq,
141
                                    WINPR_ATTR_UNUSED RPC_WSTR NetworkAddr,
142
                                    WINPR_ATTR_UNUSED RPC_WSTR Endpoint,
143
                                    WINPR_ATTR_UNUSED RPC_WSTR Options,
144
                                    WINPR_ATTR_UNUSED RPC_WSTR* StringBinding)
145
0
{
146
0
  WLog_ERR(TAG, "Not implemented");
147
0
  return 0;
148
0
}
149
150
RPC_STATUS RpcStringBindingParseA(WINPR_ATTR_UNUSED RPC_CSTR StringBinding,
151
                                  WINPR_ATTR_UNUSED RPC_CSTR* ObjUuid,
152
                                  WINPR_ATTR_UNUSED RPC_CSTR* Protseq,
153
                                  WINPR_ATTR_UNUSED RPC_CSTR* NetworkAddr,
154
                                  WINPR_ATTR_UNUSED RPC_CSTR* Endpoint,
155
                                  WINPR_ATTR_UNUSED RPC_CSTR* NetworkOptions)
156
0
{
157
0
  WLog_ERR(TAG, "Not implemented");
158
0
  return 0;
159
0
}
160
161
RPC_STATUS RpcStringBindingParseW(WINPR_ATTR_UNUSED RPC_WSTR StringBinding,
162
                                  WINPR_ATTR_UNUSED RPC_WSTR* ObjUuid,
163
                                  WINPR_ATTR_UNUSED RPC_WSTR* Protseq,
164
                                  WINPR_ATTR_UNUSED RPC_WSTR* NetworkAddr,
165
                                  WINPR_ATTR_UNUSED RPC_WSTR* Endpoint,
166
                                  WINPR_ATTR_UNUSED RPC_WSTR* NetworkOptions)
167
0
{
168
0
  WLog_ERR(TAG, "Not implemented");
169
0
  return 0;
170
0
}
171
172
RPC_STATUS RpcStringFreeA(RPC_CSTR* String)
173
0
{
174
0
  if (String)
175
0
    free(*String);
176
177
0
  return RPC_S_OK;
178
0
}
179
180
RPC_STATUS RpcStringFreeW(RPC_WSTR* String)
181
0
{
182
0
  if (String)
183
0
    free(*String);
184
185
0
  return RPC_S_OK;
186
0
}
187
188
RPC_STATUS RpcIfInqId(WINPR_ATTR_UNUSED RPC_IF_HANDLE RpcIfHandle,
189
                      WINPR_ATTR_UNUSED RPC_IF_ID* RpcIfId)
190
0
{
191
0
  WLog_ERR(TAG, "Not implemented");
192
0
  return 0;
193
0
}
194
195
RPC_STATUS RpcNetworkIsProtseqValidA(WINPR_ATTR_UNUSED RPC_CSTR Protseq)
196
0
{
197
0
  WLog_ERR(TAG, "Not implemented");
198
0
  return 0;
199
0
}
200
201
RPC_STATUS RpcNetworkIsProtseqValidW(WINPR_ATTR_UNUSED RPC_WSTR Protseq)
202
0
{
203
0
  WLog_ERR(TAG, "Not implemented");
204
0
  return 0;
205
0
}
206
207
RPC_STATUS RpcMgmtInqComTimeout(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
208
                                WINPR_ATTR_UNUSED unsigned int* Timeout)
209
0
{
210
0
  WLog_ERR(TAG, "Not implemented");
211
0
  return 0;
212
0
}
213
214
RPC_STATUS RpcMgmtSetComTimeout(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
215
                                WINPR_ATTR_UNUSED unsigned int Timeout)
216
0
{
217
0
  WLog_ERR(TAG, "Not implemented");
218
0
  return 0;
219
0
}
220
221
RPC_STATUS RpcMgmtSetCancelTimeout(WINPR_ATTR_UNUSED long Timeout)
222
0
{
223
0
  WLog_ERR(TAG, "Not implemented");
224
0
  return 0;
225
0
}
226
227
RPC_STATUS RpcNetworkInqProtseqsA(WINPR_ATTR_UNUSED RPC_PROTSEQ_VECTORA** ProtseqVector)
228
0
{
229
0
  WLog_ERR(TAG, "Not implemented");
230
0
  return 0;
231
0
}
232
233
RPC_STATUS RpcNetworkInqProtseqsW(WINPR_ATTR_UNUSED RPC_PROTSEQ_VECTORW** ProtseqVector)
234
0
{
235
0
  WLog_ERR(TAG, "Not implemented");
236
0
  return 0;
237
0
}
238
239
RPC_STATUS RpcObjectInqType(WINPR_ATTR_UNUSED UUID* ObjUuid, WINPR_ATTR_UNUSED UUID* TypeUuid)
240
0
{
241
0
  WLog_ERR(TAG, "Not implemented");
242
0
  return 0;
243
0
}
244
245
RPC_STATUS RpcObjectSetInqFn(WINPR_ATTR_UNUSED RPC_OBJECT_INQ_FN* InquiryFn)
246
0
{
247
0
  WLog_ERR(TAG, "Not implemented");
248
0
  return 0;
249
0
}
250
251
RPC_STATUS RpcObjectSetType(WINPR_ATTR_UNUSED UUID* ObjUuid, WINPR_ATTR_UNUSED UUID* TypeUuid)
252
0
{
253
0
  WLog_ERR(TAG, "Not implemented");
254
0
  return 0;
255
0
}
256
257
RPC_STATUS RpcProtseqVectorFreeA(WINPR_ATTR_UNUSED RPC_PROTSEQ_VECTORA** ProtseqVector)
258
0
{
259
0
  WLog_ERR(TAG, "Not implemented");
260
0
  return 0;
261
0
}
262
263
RPC_STATUS RpcProtseqVectorFreeW(WINPR_ATTR_UNUSED RPC_PROTSEQ_VECTORW** ProtseqVector)
264
0
{
265
0
  WLog_ERR(TAG, "Not implemented");
266
0
  return 0;
267
0
}
268
269
RPC_STATUS RpcServerInqBindings(WINPR_ATTR_UNUSED RPC_BINDING_VECTOR** BindingVector)
270
0
{
271
0
  WLog_ERR(TAG, "Not implemented");
272
0
  return 0;
273
0
}
274
275
RPC_STATUS RpcServerInqIf(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
276
                          WINPR_ATTR_UNUSED UUID* MgrTypeUuid,
277
                          WINPR_ATTR_UNUSED RPC_MGR_EPV** MgrEpv)
278
0
{
279
0
  WLog_ERR(TAG, "Not implemented");
280
0
  return 0;
281
0
}
282
283
RPC_STATUS RpcServerListen(WINPR_ATTR_UNUSED unsigned int MinimumCallThreads,
284
                           WINPR_ATTR_UNUSED unsigned int MaxCalls,
285
                           WINPR_ATTR_UNUSED unsigned int DontWait)
286
0
{
287
0
  WLog_ERR(TAG, "Not implemented");
288
0
  return 0;
289
0
}
290
291
RPC_STATUS RpcServerRegisterIf(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
292
                               WINPR_ATTR_UNUSED UUID* MgrTypeUuid,
293
                               WINPR_ATTR_UNUSED RPC_MGR_EPV* MgrEpv)
294
0
{
295
0
  WLog_ERR(TAG, "Not implemented");
296
0
  return 0;
297
0
}
298
299
RPC_STATUS RpcServerRegisterIfEx(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
300
                                 WINPR_ATTR_UNUSED UUID* MgrTypeUuid,
301
                                 WINPR_ATTR_UNUSED RPC_MGR_EPV* MgrEpv,
302
                                 WINPR_ATTR_UNUSED unsigned int Flags,
303
                                 WINPR_ATTR_UNUSED unsigned int MaxCalls,
304
                                 WINPR_ATTR_UNUSED RPC_IF_CALLBACK_FN* IfCallback)
305
0
{
306
0
  WLog_ERR(TAG, "Not implemented");
307
0
  return 0;
308
0
}
309
310
RPC_STATUS RpcServerRegisterIf2(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
311
                                WINPR_ATTR_UNUSED UUID* MgrTypeUuid,
312
                                WINPR_ATTR_UNUSED RPC_MGR_EPV* MgrEpv,
313
                                WINPR_ATTR_UNUSED unsigned int Flags,
314
                                WINPR_ATTR_UNUSED unsigned int MaxCalls,
315
                                WINPR_ATTR_UNUSED unsigned int MaxRpcSize,
316
                                WINPR_ATTR_UNUSED RPC_IF_CALLBACK_FN* IfCallbackFn)
317
0
{
318
0
  WLog_ERR(TAG, "Not implemented");
319
0
  return 0;
320
0
}
321
322
RPC_STATUS RpcServerUnregisterIf(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
323
                                 WINPR_ATTR_UNUSED UUID* MgrTypeUuid,
324
                                 WINPR_ATTR_UNUSED unsigned int WaitForCallsToComplete)
325
0
{
326
0
  WLog_ERR(TAG, "Not implemented");
327
0
  return 0;
328
0
}
329
330
RPC_STATUS RpcServerUnregisterIfEx(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
331
                                   WINPR_ATTR_UNUSED UUID* MgrTypeUuid,
332
                                   WINPR_ATTR_UNUSED int RundownContextHandles)
333
0
{
334
0
  WLog_ERR(TAG, "Not implemented");
335
0
  return 0;
336
0
}
337
338
RPC_STATUS RpcServerUseAllProtseqs(WINPR_ATTR_UNUSED unsigned int MaxCalls,
339
                                   WINPR_ATTR_UNUSED void* SecurityDescriptor)
340
0
{
341
0
  WLog_ERR(TAG, "Not implemented");
342
0
  return 0;
343
0
}
344
345
RPC_STATUS RpcServerUseAllProtseqsEx(WINPR_ATTR_UNUSED unsigned int MaxCalls,
346
                                     WINPR_ATTR_UNUSED void* SecurityDescriptor,
347
                                     WINPR_ATTR_UNUSED PRPC_POLICY Policy)
348
0
{
349
0
  WLog_ERR(TAG, "Not implemented");
350
0
  return 0;
351
0
}
352
353
RPC_STATUS RpcServerUseAllProtseqsIf(WINPR_ATTR_UNUSED unsigned int MaxCalls,
354
                                     WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
355
                                     WINPR_ATTR_UNUSED void* SecurityDescriptor)
356
0
{
357
0
  WLog_ERR(TAG, "Not implemented");
358
0
  return 0;
359
0
}
360
361
RPC_STATUS RpcServerUseAllProtseqsIfEx(WINPR_ATTR_UNUSED unsigned int MaxCalls,
362
                                       WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
363
                                       WINPR_ATTR_UNUSED void* SecurityDescriptor,
364
                                       WINPR_ATTR_UNUSED PRPC_POLICY Policy)
365
0
{
366
0
  WLog_ERR(TAG, "Not implemented");
367
0
  return 0;
368
0
}
369
370
RPC_STATUS RpcServerUseProtseqA(WINPR_ATTR_UNUSED RPC_CSTR Protseq,
371
                                WINPR_ATTR_UNUSED unsigned int MaxCalls,
372
                                WINPR_ATTR_UNUSED void* SecurityDescriptor)
373
0
{
374
0
  WLog_ERR(TAG, "Not implemented");
375
0
  return 0;
376
0
}
377
378
RPC_STATUS RpcServerUseProtseqExA(WINPR_ATTR_UNUSED RPC_CSTR Protseq,
379
                                  WINPR_ATTR_UNUSED unsigned int MaxCalls,
380
                                  WINPR_ATTR_UNUSED void* SecurityDescriptor,
381
                                  WINPR_ATTR_UNUSED PRPC_POLICY Policy)
382
0
{
383
0
  WLog_ERR(TAG, "Not implemented");
384
0
  return 0;
385
0
}
386
387
RPC_STATUS RpcServerUseProtseqW(WINPR_ATTR_UNUSED RPC_WSTR Protseq,
388
                                WINPR_ATTR_UNUSED unsigned int MaxCalls,
389
                                WINPR_ATTR_UNUSED void* SecurityDescriptor)
390
0
{
391
0
  WLog_ERR(TAG, "Not implemented");
392
0
  return 0;
393
0
}
394
395
RPC_STATUS RpcServerUseProtseqExW(WINPR_ATTR_UNUSED RPC_WSTR Protseq,
396
                                  WINPR_ATTR_UNUSED unsigned int MaxCalls,
397
                                  WINPR_ATTR_UNUSED void* SecurityDescriptor,
398
                                  WINPR_ATTR_UNUSED PRPC_POLICY Policy)
399
0
{
400
0
  WLog_ERR(TAG, "Not implemented");
401
0
  return 0;
402
0
}
403
404
RPC_STATUS RpcServerUseProtseqEpA(WINPR_ATTR_UNUSED RPC_CSTR Protseq,
405
                                  WINPR_ATTR_UNUSED unsigned int MaxCalls,
406
                                  WINPR_ATTR_UNUSED RPC_CSTR Endpoint,
407
                                  WINPR_ATTR_UNUSED void* SecurityDescriptor)
408
0
{
409
0
  WLog_ERR(TAG, "Not implemented");
410
0
  return 0;
411
0
}
412
413
RPC_STATUS RpcServerUseProtseqEpExA(WINPR_ATTR_UNUSED RPC_CSTR Protseq,
414
                                    WINPR_ATTR_UNUSED unsigned int MaxCalls,
415
                                    WINPR_ATTR_UNUSED RPC_CSTR Endpoint,
416
                                    WINPR_ATTR_UNUSED void* SecurityDescriptor,
417
                                    WINPR_ATTR_UNUSED PRPC_POLICY Policy)
418
0
{
419
0
  WLog_ERR(TAG, "Not implemented");
420
0
  return 0;
421
0
}
422
423
RPC_STATUS RpcServerUseProtseqEpW(WINPR_ATTR_UNUSED RPC_WSTR Protseq,
424
                                  WINPR_ATTR_UNUSED unsigned int MaxCalls,
425
                                  WINPR_ATTR_UNUSED RPC_WSTR Endpoint,
426
                                  WINPR_ATTR_UNUSED void* SecurityDescriptor)
427
0
{
428
0
  WLog_ERR(TAG, "Not implemented");
429
0
  return 0;
430
0
}
431
432
RPC_STATUS RpcServerUseProtseqEpExW(WINPR_ATTR_UNUSED RPC_WSTR Protseq,
433
                                    WINPR_ATTR_UNUSED unsigned int MaxCalls,
434
                                    WINPR_ATTR_UNUSED RPC_WSTR Endpoint,
435
                                    WINPR_ATTR_UNUSED void* SecurityDescriptor,
436
                                    WINPR_ATTR_UNUSED PRPC_POLICY Policy)
437
0
{
438
0
  WLog_ERR(TAG, "Not implemented");
439
0
  return 0;
440
0
}
441
442
RPC_STATUS RpcServerUseProtseqIfA(WINPR_ATTR_UNUSED RPC_CSTR Protseq,
443
                                  WINPR_ATTR_UNUSED unsigned int MaxCalls,
444
                                  WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
445
                                  WINPR_ATTR_UNUSED void* SecurityDescriptor)
446
0
{
447
0
  WLog_ERR(TAG, "Not implemented");
448
0
  return 0;
449
0
}
450
451
RPC_STATUS RpcServerUseProtseqIfExA(WINPR_ATTR_UNUSED RPC_CSTR Protseq,
452
                                    WINPR_ATTR_UNUSED unsigned int MaxCalls,
453
                                    WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
454
                                    WINPR_ATTR_UNUSED void* SecurityDescriptor,
455
                                    WINPR_ATTR_UNUSED PRPC_POLICY Policy)
456
0
{
457
0
  WLog_ERR(TAG, "Not implemented");
458
0
  return 0;
459
0
}
460
461
RPC_STATUS RpcServerUseProtseqIfW(WINPR_ATTR_UNUSED RPC_WSTR Protseq,
462
                                  WINPR_ATTR_UNUSED unsigned int MaxCalls,
463
                                  WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
464
                                  WINPR_ATTR_UNUSED void* SecurityDescriptor)
465
0
{
466
0
  WLog_ERR(TAG, "Not implemented");
467
0
  return 0;
468
0
}
469
470
RPC_STATUS RpcServerUseProtseqIfExW(WINPR_ATTR_UNUSED RPC_WSTR Protseq,
471
                                    WINPR_ATTR_UNUSED unsigned int MaxCalls,
472
                                    WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
473
                                    WINPR_ATTR_UNUSED void* SecurityDescriptor,
474
                                    WINPR_ATTR_UNUSED PRPC_POLICY Policy)
475
0
{
476
0
  WLog_ERR(TAG, "Not implemented");
477
0
  return 0;
478
0
}
479
480
void RpcServerYield(void)
481
0
{
482
0
  WLog_ERR(TAG, "Not implemented");
483
0
}
484
485
RPC_STATUS RpcMgmtStatsVectorFree(WINPR_ATTR_UNUSED RPC_STATS_VECTOR** StatsVector)
486
0
{
487
0
  WLog_ERR(TAG, "Not implemented");
488
0
  return 0;
489
0
}
490
491
RPC_STATUS RpcMgmtInqStats(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
492
                           WINPR_ATTR_UNUSED RPC_STATS_VECTOR** Statistics)
493
0
{
494
0
  WLog_ERR(TAG, "Not implemented");
495
0
  return 0;
496
0
}
497
498
RPC_STATUS RpcMgmtIsServerListening(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding)
499
0
{
500
0
  WLog_ERR(TAG, "Not implemented");
501
0
  return 0;
502
0
}
503
504
RPC_STATUS RpcMgmtStopServerListening(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding)
505
0
{
506
0
  WLog_ERR(TAG, "Not implemented");
507
0
  return 0;
508
0
}
509
510
RPC_STATUS RpcMgmtWaitServerListen(void)
511
0
{
512
0
  WLog_ERR(TAG, "Not implemented");
513
0
  return 0;
514
0
}
515
516
RPC_STATUS RpcMgmtSetServerStackSize(WINPR_ATTR_UNUSED unsigned long ThreadStackSize)
517
0
{
518
0
  WLog_ERR(TAG, "Not implemented");
519
0
  return 0;
520
0
}
521
522
void RpcSsDontSerializeContext(void)
523
0
{
524
0
  WLog_ERR(TAG, "Not implemented");
525
0
}
526
527
RPC_STATUS RpcMgmtEnableIdleCleanup(void)
528
0
{
529
0
  WLog_ERR(TAG, "Not implemented");
530
0
  return 0;
531
0
}
532
533
RPC_STATUS RpcMgmtInqIfIds(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
534
                           WINPR_ATTR_UNUSED RPC_IF_ID_VECTOR** IfIdVector)
535
0
{
536
0
  WLog_ERR(TAG, "Not implemented");
537
0
  return 0;
538
0
}
539
540
RPC_STATUS RpcIfIdVectorFree(WINPR_ATTR_UNUSED RPC_IF_ID_VECTOR** IfIdVector)
541
0
{
542
0
  WLog_ERR(TAG, "Not implemented");
543
0
  return 0;
544
0
}
545
546
RPC_STATUS RpcMgmtInqServerPrincNameA(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
547
                                      WINPR_ATTR_UNUSED unsigned long AuthnSvc,
548
                                      WINPR_ATTR_UNUSED RPC_CSTR* ServerPrincName)
549
0
{
550
0
  WLog_ERR(TAG, "Not implemented");
551
0
  return 0;
552
0
}
553
554
RPC_STATUS RpcMgmtInqServerPrincNameW(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
555
                                      WINPR_ATTR_UNUSED unsigned long AuthnSvc,
556
                                      WINPR_ATTR_UNUSED RPC_WSTR* ServerPrincName)
557
0
{
558
0
  WLog_ERR(TAG, "Not implemented");
559
0
  return 0;
560
0
}
561
562
RPC_STATUS RpcServerInqDefaultPrincNameA(WINPR_ATTR_UNUSED unsigned long AuthnSvc,
563
                                         WINPR_ATTR_UNUSED RPC_CSTR* PrincName)
564
0
{
565
0
  WLog_ERR(TAG, "Not implemented");
566
0
  return 0;
567
0
}
568
569
RPC_STATUS RpcServerInqDefaultPrincNameW(WINPR_ATTR_UNUSED unsigned long AuthnSvc,
570
                                         WINPR_ATTR_UNUSED RPC_WSTR* PrincName)
571
0
{
572
0
  WLog_ERR(TAG, "Not implemented");
573
0
  return 0;
574
0
}
575
576
RPC_STATUS RpcEpResolveBinding(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
577
                               WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec)
578
0
{
579
0
  WLog_ERR(TAG, "Not implemented");
580
0
  return 0;
581
0
}
582
583
RPC_STATUS RpcNsBindingInqEntryNameA(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
584
                                     WINPR_ATTR_UNUSED unsigned long EntryNameSyntax,
585
                                     WINPR_ATTR_UNUSED RPC_CSTR* EntryName)
586
0
{
587
0
  WLog_ERR(TAG, "Not implemented");
588
0
  return 0;
589
0
}
590
591
RPC_STATUS RpcNsBindingInqEntryNameW(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
592
                                     WINPR_ATTR_UNUSED unsigned long EntryNameSyntax,
593
                                     WINPR_ATTR_UNUSED RPC_WSTR* EntryName)
594
0
{
595
0
  WLog_ERR(TAG, "Not implemented");
596
0
  return 0;
597
0
}
598
599
RPC_STATUS RpcImpersonateClient(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE BindingHandle)
600
0
{
601
0
  WLog_ERR(TAG, "Not implemented");
602
0
  return 0;
603
0
}
604
605
RPC_STATUS RpcRevertToSelfEx(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE BindingHandle)
606
0
{
607
0
  WLog_ERR(TAG, "Not implemented");
608
0
  return 0;
609
0
}
610
611
RPC_STATUS RpcRevertToSelf(void)
612
0
{
613
0
  WLog_ERR(TAG, "Not implemented");
614
0
  return 0;
615
0
}
616
617
RPC_STATUS RpcBindingInqAuthClientA(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE ClientBinding,
618
                                    WINPR_ATTR_UNUSED RPC_AUTHZ_HANDLE* Privs,
619
                                    WINPR_ATTR_UNUSED RPC_CSTR* ServerPrincName,
620
                                    WINPR_ATTR_UNUSED unsigned long* AuthnLevel,
621
                                    WINPR_ATTR_UNUSED unsigned long* AuthnSvc,
622
                                    WINPR_ATTR_UNUSED unsigned long* AuthzSvc)
623
0
{
624
0
  WLog_ERR(TAG, "Not implemented");
625
0
  return 0;
626
0
}
627
628
RPC_STATUS RpcBindingInqAuthClientW(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE ClientBinding,
629
                                    WINPR_ATTR_UNUSED RPC_AUTHZ_HANDLE* Privs,
630
                                    WINPR_ATTR_UNUSED RPC_WSTR* ServerPrincName,
631
                                    WINPR_ATTR_UNUSED unsigned long* AuthnLevel,
632
                                    WINPR_ATTR_UNUSED unsigned long* AuthnSvc,
633
                                    WINPR_ATTR_UNUSED unsigned long* AuthzSvc)
634
0
{
635
0
  WLog_ERR(TAG, "Not implemented");
636
0
  return 0;
637
0
}
638
639
RPC_STATUS RpcBindingInqAuthClientExA(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE ClientBinding,
640
                                      WINPR_ATTR_UNUSED RPC_AUTHZ_HANDLE* Privs,
641
                                      WINPR_ATTR_UNUSED RPC_CSTR* ServerPrincName,
642
                                      WINPR_ATTR_UNUSED unsigned long* AuthnLevel,
643
                                      WINPR_ATTR_UNUSED unsigned long* AuthnSvc,
644
                                      WINPR_ATTR_UNUSED unsigned long* AuthzSvc,
645
                                      WINPR_ATTR_UNUSED unsigned long Flags)
646
0
{
647
0
  WLog_ERR(TAG, "Not implemented");
648
0
  return 0;
649
0
}
650
651
RPC_STATUS RpcBindingInqAuthClientExW(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE ClientBinding,
652
                                      WINPR_ATTR_UNUSED RPC_AUTHZ_HANDLE* Privs,
653
                                      WINPR_ATTR_UNUSED RPC_WSTR* ServerPrincName,
654
                                      WINPR_ATTR_UNUSED unsigned long* AuthnLevel,
655
                                      WINPR_ATTR_UNUSED unsigned long* AuthnSvc,
656
                                      WINPR_ATTR_UNUSED unsigned long* AuthzSvc,
657
                                      WINPR_ATTR_UNUSED unsigned long Flags)
658
0
{
659
0
  WLog_ERR(TAG, "Not implemented");
660
0
  return 0;
661
0
}
662
663
RPC_STATUS RpcBindingInqAuthInfoA(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
664
                                  WINPR_ATTR_UNUSED RPC_CSTR* ServerPrincName,
665
                                  WINPR_ATTR_UNUSED unsigned long* AuthnLevel,
666
                                  WINPR_ATTR_UNUSED unsigned long* AuthnSvc,
667
                                  WINPR_ATTR_UNUSED RPC_AUTH_IDENTITY_HANDLE* AuthIdentity,
668
                                  WINPR_ATTR_UNUSED unsigned long* AuthzSvc)
669
0
{
670
0
  WLog_ERR(TAG, "Not implemented");
671
0
  return 0;
672
0
}
673
674
RPC_STATUS RpcBindingInqAuthInfoW(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
675
                                  WINPR_ATTR_UNUSED RPC_WSTR* ServerPrincName,
676
                                  WINPR_ATTR_UNUSED unsigned long* AuthnLevel,
677
                                  WINPR_ATTR_UNUSED unsigned long* AuthnSvc,
678
                                  WINPR_ATTR_UNUSED RPC_AUTH_IDENTITY_HANDLE* AuthIdentity,
679
                                  WINPR_ATTR_UNUSED unsigned long* AuthzSvc)
680
0
{
681
0
  WLog_ERR(TAG, "Not implemented");
682
0
  return 0;
683
0
}
684
685
RPC_STATUS RpcBindingSetAuthInfoA(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
686
                                  WINPR_ATTR_UNUSED RPC_CSTR ServerPrincName,
687
                                  WINPR_ATTR_UNUSED unsigned long AuthnLevel,
688
                                  WINPR_ATTR_UNUSED unsigned long AuthnSvc,
689
                                  WINPR_ATTR_UNUSED RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
690
                                  WINPR_ATTR_UNUSED unsigned long AuthzSvc)
691
0
{
692
0
  WLog_ERR(TAG, "Not implemented");
693
0
  return 0;
694
0
}
695
696
RPC_STATUS RpcBindingSetAuthInfoExA(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
697
                                    WINPR_ATTR_UNUSED RPC_CSTR ServerPrincName,
698
                                    WINPR_ATTR_UNUSED unsigned long AuthnLevel,
699
                                    WINPR_ATTR_UNUSED unsigned long AuthnSvc,
700
                                    WINPR_ATTR_UNUSED RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
701
                                    WINPR_ATTR_UNUSED unsigned long AuthzSvc,
702
                                    WINPR_ATTR_UNUSED RPC_SECURITY_QOS* SecurityQos)
703
0
{
704
0
  WLog_ERR(TAG, "Not implemented");
705
0
  return 0;
706
0
}
707
708
RPC_STATUS RpcBindingSetAuthInfoW(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
709
                                  WINPR_ATTR_UNUSED RPC_WSTR ServerPrincName,
710
                                  WINPR_ATTR_UNUSED unsigned long AuthnLevel,
711
                                  WINPR_ATTR_UNUSED unsigned long AuthnSvc,
712
                                  WINPR_ATTR_UNUSED RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
713
                                  WINPR_ATTR_UNUSED unsigned long AuthzSvc)
714
0
{
715
0
  WLog_ERR(TAG, "Not implemented");
716
0
  return 0;
717
0
}
718
719
RPC_STATUS RpcBindingSetAuthInfoExW(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
720
                                    WINPR_ATTR_UNUSED RPC_WSTR ServerPrincName,
721
                                    WINPR_ATTR_UNUSED unsigned long AuthnLevel,
722
                                    WINPR_ATTR_UNUSED unsigned long AuthnSvc,
723
                                    WINPR_ATTR_UNUSED RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
724
                                    WINPR_ATTR_UNUSED unsigned long AuthzSvc,
725
                                    WINPR_ATTR_UNUSED RPC_SECURITY_QOS* SecurityQOS)
726
0
{
727
0
  WLog_ERR(TAG, "Not implemented");
728
0
  return 0;
729
0
}
730
731
RPC_STATUS RpcBindingInqAuthInfoExA(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
732
                                    WINPR_ATTR_UNUSED RPC_CSTR* ServerPrincName,
733
                                    WINPR_ATTR_UNUSED unsigned long* AuthnLevel,
734
                                    WINPR_ATTR_UNUSED unsigned long* AuthnSvc,
735
                                    WINPR_ATTR_UNUSED RPC_AUTH_IDENTITY_HANDLE* AuthIdentity,
736
                                    WINPR_ATTR_UNUSED unsigned long* AuthzSvc,
737
                                    WINPR_ATTR_UNUSED unsigned long RpcQosVersion,
738
                                    WINPR_ATTR_UNUSED RPC_SECURITY_QOS* SecurityQOS)
739
0
{
740
0
  WLog_ERR(TAG, "Not implemented");
741
0
  return 0;
742
0
}
743
744
RPC_STATUS RpcBindingInqAuthInfoExW(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
745
                                    WINPR_ATTR_UNUSED RPC_WSTR* ServerPrincName,
746
                                    WINPR_ATTR_UNUSED unsigned long* AuthnLevel,
747
                                    WINPR_ATTR_UNUSED unsigned long* AuthnSvc,
748
                                    WINPR_ATTR_UNUSED RPC_AUTH_IDENTITY_HANDLE* AuthIdentity,
749
                                    WINPR_ATTR_UNUSED unsigned long* AuthzSvc,
750
                                    WINPR_ATTR_UNUSED unsigned long RpcQosVersion,
751
                                    WINPR_ATTR_UNUSED RPC_SECURITY_QOS* SecurityQOS)
752
0
{
753
0
  WLog_ERR(TAG, "Not implemented");
754
0
  return 0;
755
0
}
756
757
RPC_STATUS RpcServerRegisterAuthInfoA(WINPR_ATTR_UNUSED RPC_CSTR ServerPrincName,
758
                                      WINPR_ATTR_UNUSED unsigned long AuthnSvc,
759
                                      WINPR_ATTR_UNUSED RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
760
                                      WINPR_ATTR_UNUSED void* Arg)
761
0
{
762
0
  WLog_ERR(TAG, "Not implemented");
763
0
  return 0;
764
0
}
765
766
RPC_STATUS RpcServerRegisterAuthInfoW(WINPR_ATTR_UNUSED RPC_WSTR ServerPrincName,
767
                                      WINPR_ATTR_UNUSED unsigned long AuthnSvc,
768
                                      WINPR_ATTR_UNUSED RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
769
                                      WINPR_ATTR_UNUSED void* Arg)
770
0
{
771
0
  WLog_ERR(TAG, "Not implemented");
772
0
  return 0;
773
0
}
774
775
RPC_STATUS RpcBindingServerFromClient(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE ClientBinding,
776
                                      WINPR_ATTR_UNUSED RPC_BINDING_HANDLE* ServerBinding)
777
0
{
778
0
  WLog_ERR(TAG, "Not implemented");
779
0
  return 0;
780
0
}
781
782
void RpcRaiseException(RPC_STATUS exception)
783
0
{
784
0
  WLog_ERR(TAG, "RpcRaiseException: 0x%08luX", exception);
785
  // NOLINTNEXTLINE(concurrency-mt-unsafe)
786
0
  exit((int)exception);
787
0
}
788
789
RPC_STATUS RpcTestCancel(void)
790
0
{
791
0
  WLog_ERR(TAG, "Not implemented");
792
0
  return 0;
793
0
}
794
795
RPC_STATUS RpcServerTestCancel(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE BindingHandle)
796
0
{
797
0
  WLog_ERR(TAG, "Not implemented");
798
0
  return 0;
799
0
}
800
801
RPC_STATUS RpcCancelThread(WINPR_ATTR_UNUSED void* Thread)
802
0
{
803
0
  WLog_ERR(TAG, "Not implemented");
804
0
  return 0;
805
0
}
806
807
RPC_STATUS RpcCancelThreadEx(WINPR_ATTR_UNUSED void* Thread, WINPR_ATTR_UNUSED long Timeout)
808
0
{
809
0
  WLog_ERR(TAG, "Not implemented");
810
0
  return 0;
811
0
}
812
813
/**
814
 * UUID Functions
815
 */
816
817
static UUID UUID_NIL = {
818
  0x00000000, 0x0000, 0x0000, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
819
};
820
821
RPC_STATUS UuidCreate(UUID* Uuid)
822
0
{
823
0
  winpr_RAND_pseudo(Uuid, 16);
824
0
  return RPC_S_OK;
825
0
}
826
827
RPC_STATUS UuidCreateSequential(UUID* Uuid)
828
0
{
829
0
  winpr_RAND_pseudo(Uuid, 16);
830
0
  return RPC_S_OK;
831
0
}
832
833
RPC_STATUS UuidToStringA(const UUID* Uuid, RPC_CSTR* StringUuid)
834
0
{
835
0
  *StringUuid = (RPC_CSTR)malloc(36 + 1);
836
837
0
  if (!(*StringUuid))
838
0
    return RPC_S_OUT_OF_MEMORY;
839
840
0
  if (!Uuid)
841
0
    Uuid = &UUID_NIL;
842
843
  /**
844
   * Format is 32 hex digits partitioned in 5 groups:
845
   * xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
846
   */
847
0
  (void)sprintf_s((char*)*StringUuid, 36 + 1, "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
848
0
                  Uuid->Data1, Uuid->Data2, Uuid->Data3, Uuid->Data4[0], Uuid->Data4[1],
849
0
                  Uuid->Data4[2], Uuid->Data4[3], Uuid->Data4[4], Uuid->Data4[5], Uuid->Data4[6],
850
0
                  Uuid->Data4[7]);
851
0
  return RPC_S_OK;
852
0
}
853
854
RPC_STATUS UuidToStringW(WINPR_ATTR_UNUSED const UUID* Uuid, WINPR_ATTR_UNUSED RPC_WSTR* StringUuid)
855
0
{
856
0
  WLog_ERR(TAG, "Not implemented");
857
0
  return 0;
858
0
}
859
860
RPC_STATUS UuidFromStringA(RPC_CSTR StringUuid, UUID* Uuid)
861
0
{
862
0
  BYTE bin[36] = { 0 };
863
864
0
  if (!StringUuid)
865
0
    return UuidCreateNil(Uuid);
866
867
0
  const size_t slen = 2 * sizeof(UUID) + 4;
868
0
  if (strnlen(StringUuid, slen) != slen)
869
0
    return RPC_S_INVALID_STRING_UUID;
870
871
0
  if ((StringUuid[8] != '-') || (StringUuid[13] != '-') || (StringUuid[18] != '-') ||
872
0
      (StringUuid[23] != '-'))
873
0
  {
874
0
    return RPC_S_INVALID_STRING_UUID;
875
0
  }
876
877
0
  for (size_t index = 0; index < 36; index++)
878
0
  {
879
0
    if ((index == 8) || (index == 13) || (index == 18) || (index == 23))
880
0
      continue;
881
882
0
    if ((StringUuid[index] >= '0') && (StringUuid[index] <= '9'))
883
0
      bin[index] = (StringUuid[index] - '0') & 0xFF;
884
0
    else if ((StringUuid[index] >= 'a') && (StringUuid[index] <= 'f'))
885
0
      bin[index] = (StringUuid[index] - 'a' + 10) & 0xFF;
886
0
    else if ((StringUuid[index] >= 'A') && (StringUuid[index] <= 'F'))
887
0
      bin[index] = (StringUuid[index] - 'A' + 10) & 0xFF;
888
0
    else
889
0
      return RPC_S_INVALID_STRING_UUID;
890
0
  }
891
892
0
  Uuid->Data1 = (UINT32)((bin[0] << 28) | (bin[1] << 24) | (bin[2] << 20) | (bin[3] << 16) |
893
0
                         (bin[4] << 12) | (bin[5] << 8) | (bin[6] << 4) | bin[7]);
894
0
  Uuid->Data2 = (UINT16)((bin[9] << 12) | (bin[10] << 8) | (bin[11] << 4) | bin[12]);
895
0
  Uuid->Data3 = (UINT16)((bin[14] << 12) | (bin[15] << 8) | (bin[16] << 4) | bin[17]);
896
0
  Uuid->Data4[0] = (UINT8)((bin[19] << 4) | bin[20]);
897
0
  Uuid->Data4[1] = (UINT8)((bin[21] << 4) | bin[22]);
898
0
  Uuid->Data4[2] = (UINT8)((bin[24] << 4) | bin[25]);
899
0
  Uuid->Data4[3] = (UINT8)((bin[26] << 4) | bin[27]);
900
0
  Uuid->Data4[4] = (UINT8)((bin[28] << 4) | bin[29]);
901
0
  Uuid->Data4[5] = (UINT8)((bin[30] << 4) | bin[31]);
902
0
  Uuid->Data4[6] = (UINT8)((bin[32] << 4) | bin[33]);
903
0
  Uuid->Data4[7] = (UINT8)((bin[34] << 4) | bin[35]);
904
0
  return RPC_S_OK;
905
0
}
906
907
RPC_STATUS UuidFromStringW(WINPR_ATTR_UNUSED RPC_WSTR StringUuid, WINPR_ATTR_UNUSED UUID* Uuid)
908
0
{
909
0
  WLog_ERR(TAG, "Not implemented");
910
0
  return 0;
911
0
}
912
913
signed int UuidCompare(const UUID* Uuid1, const UUID* Uuid2, RPC_STATUS* Status)
914
0
{
915
0
  *Status = RPC_S_OK;
916
917
0
  if (!Uuid1)
918
0
    Uuid1 = &UUID_NIL;
919
920
0
  if (!Uuid2)
921
0
    Uuid2 = &UUID_NIL;
922
923
0
  if (Uuid1->Data1 != Uuid2->Data1)
924
0
    return (Uuid1->Data1 < Uuid2->Data1) ? -1 : 1;
925
926
0
  if (Uuid1->Data2 != Uuid2->Data2)
927
0
    return (Uuid1->Data2 < Uuid2->Data2) ? -1 : 1;
928
929
0
  if (Uuid1->Data3 != Uuid2->Data3)
930
0
    return (Uuid1->Data3 < Uuid2->Data3) ? -1 : 1;
931
932
0
  for (int index = 0; index < 8; index++)
933
0
  {
934
0
    if (Uuid1->Data4[index] != Uuid2->Data4[index])
935
0
      return (Uuid1->Data4[index] < Uuid2->Data4[index]) ? -1 : 1;
936
0
  }
937
938
0
  return 0;
939
0
}
940
941
RPC_STATUS UuidCreateNil(UUID* NilUuid)
942
0
{
943
0
  CopyMemory((void*)NilUuid, (void*)&UUID_NIL, 16);
944
0
  return RPC_S_OK;
945
0
}
946
947
int UuidEqual(const UUID* Uuid1, const UUID* Uuid2, RPC_STATUS* Status)
948
0
{
949
0
  return ((UuidCompare(Uuid1, Uuid2, Status) == 0) ? TRUE : FALSE);
950
0
}
951
952
unsigned short UuidHash(WINPR_ATTR_UNUSED const UUID* Uuid, WINPR_ATTR_UNUSED RPC_STATUS* Status)
953
0
{
954
0
  WLog_ERR(TAG, "Not implemented");
955
0
  return 0;
956
0
}
957
958
int UuidIsNil(const UUID* Uuid, RPC_STATUS* Status)
959
0
{
960
0
  return UuidEqual(Uuid, &UUID_NIL, Status);
961
0
}
962
963
RPC_STATUS RpcEpRegisterNoReplaceA(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
964
                                   WINPR_ATTR_UNUSED RPC_BINDING_VECTOR* BindingVector,
965
                                   WINPR_ATTR_UNUSED UUID_VECTOR* UuidVector,
966
                                   WINPR_ATTR_UNUSED RPC_CSTR Annotation)
967
0
{
968
0
  WLog_ERR(TAG, "Not implemented");
969
0
  return 0;
970
0
}
971
972
RPC_STATUS RpcEpRegisterNoReplaceW(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
973
                                   WINPR_ATTR_UNUSED RPC_BINDING_VECTOR* BindingVector,
974
                                   WINPR_ATTR_UNUSED UUID_VECTOR* UuidVector,
975
                                   WINPR_ATTR_UNUSED RPC_WSTR Annotation)
976
0
{
977
0
  WLog_ERR(TAG, "Not implemented");
978
0
  return 0;
979
0
}
980
981
RPC_STATUS RpcEpRegisterA(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
982
                          WINPR_ATTR_UNUSED RPC_BINDING_VECTOR* BindingVector,
983
                          WINPR_ATTR_UNUSED UUID_VECTOR* UuidVector,
984
                          WINPR_ATTR_UNUSED RPC_CSTR Annotation)
985
0
{
986
0
  WLog_ERR(TAG, "Not implemented");
987
0
  return 0;
988
0
}
989
990
RPC_STATUS RpcEpRegisterW(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
991
                          WINPR_ATTR_UNUSED RPC_BINDING_VECTOR* BindingVector,
992
                          WINPR_ATTR_UNUSED UUID_VECTOR* UuidVector,
993
                          WINPR_ATTR_UNUSED RPC_WSTR Annotation)
994
0
{
995
0
  WLog_ERR(TAG, "Not implemented");
996
0
  return 0;
997
0
}
998
999
RPC_STATUS RpcEpUnregister(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
1000
                           WINPR_ATTR_UNUSED RPC_BINDING_VECTOR* BindingVector,
1001
                           WINPR_ATTR_UNUSED UUID_VECTOR* UuidVector)
1002
0
{
1003
0
  WLog_ERR(TAG, "Not implemented");
1004
0
  return 0;
1005
0
}
1006
1007
RPC_STATUS DceErrorInqTextA(WINPR_ATTR_UNUSED RPC_STATUS RpcStatus,
1008
                            WINPR_ATTR_UNUSED RPC_CSTR ErrorText)
1009
0
{
1010
0
  WLog_ERR(TAG, "Not implemented");
1011
0
  return 0;
1012
0
}
1013
1014
RPC_STATUS DceErrorInqTextW(WINPR_ATTR_UNUSED RPC_STATUS RpcStatus,
1015
                            WINPR_ATTR_UNUSED RPC_WSTR ErrorText)
1016
0
{
1017
0
  WLog_ERR(TAG, "Not implemented");
1018
0
  return 0;
1019
0
}
1020
1021
RPC_STATUS RpcMgmtEpEltInqBegin(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE EpBinding,
1022
                                WINPR_ATTR_UNUSED unsigned long InquiryType,
1023
                                WINPR_ATTR_UNUSED RPC_IF_ID* IfId,
1024
                                WINPR_ATTR_UNUSED unsigned long VersOption,
1025
                                WINPR_ATTR_UNUSED UUID* ObjectUuid,
1026
                                WINPR_ATTR_UNUSED RPC_EP_INQ_HANDLE* InquiryContext)
1027
0
{
1028
0
  WLog_ERR(TAG, "Not implemented");
1029
0
  return 0;
1030
0
}
1031
1032
RPC_STATUS RpcMgmtEpEltInqDone(WINPR_ATTR_UNUSED RPC_EP_INQ_HANDLE* InquiryContext)
1033
0
{
1034
0
  WLog_ERR(TAG, "Not implemented");
1035
0
  return 0;
1036
0
}
1037
1038
RPC_STATUS RpcMgmtEpEltInqNextA(WINPR_ATTR_UNUSED RPC_EP_INQ_HANDLE InquiryContext,
1039
                                WINPR_ATTR_UNUSED RPC_IF_ID* IfId,
1040
                                WINPR_ATTR_UNUSED RPC_BINDING_HANDLE* Binding,
1041
                                WINPR_ATTR_UNUSED UUID* ObjectUuid,
1042
                                WINPR_ATTR_UNUSED RPC_CSTR* Annotation)
1043
0
{
1044
0
  WLog_ERR(TAG, "Not implemented");
1045
0
  return 0;
1046
0
}
1047
1048
RPC_STATUS RpcMgmtEpEltInqNextW(WINPR_ATTR_UNUSED RPC_EP_INQ_HANDLE InquiryContext,
1049
                                WINPR_ATTR_UNUSED RPC_IF_ID* IfId,
1050
                                WINPR_ATTR_UNUSED RPC_BINDING_HANDLE* Binding,
1051
                                WINPR_ATTR_UNUSED UUID* ObjectUuid,
1052
                                WINPR_ATTR_UNUSED RPC_WSTR* Annotation)
1053
0
{
1054
0
  WLog_ERR(TAG, "Not implemented");
1055
0
  return 0;
1056
0
}
1057
1058
RPC_STATUS RpcMgmtEpUnregister(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE EpBinding,
1059
                               WINPR_ATTR_UNUSED RPC_IF_ID* IfId,
1060
                               WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
1061
                               WINPR_ATTR_UNUSED UUID* ObjectUuid)
1062
0
{
1063
0
  WLog_ERR(TAG, "Not implemented");
1064
0
  return 0;
1065
0
}
1066
1067
RPC_STATUS RpcMgmtSetAuthorizationFn(WINPR_ATTR_UNUSED RPC_MGMT_AUTHORIZATION_FN AuthorizationFn)
1068
0
{
1069
0
  WLog_ERR(TAG, "Not implemented");
1070
0
  return 0;
1071
0
}
1072
1073
RPC_STATUS RpcServerInqBindingHandle(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE* Binding)
1074
0
{
1075
0
  WLog_ERR(TAG, "Not implemented");
1076
0
  return 0;
1077
0
}
1078
1079
#endif