2
* Unix SMB/CIFS implementation.
3
* client auto-generated by pidl. DO NOT MODIFY!
7
#include "../librpc/gen_ndr/cli_winreg.h"
9
NTSTATUS rpccli_winreg_OpenHKCR(struct rpc_pipe_client *cli,
11
uint16_t *system_name /* [in] [unique] */,
12
uint32_t access_mask /* [in] */,
13
struct policy_handle *handle /* [out] [ref] */,
16
struct winreg_OpenHKCR r;
20
r.in.system_name = system_name;
21
r.in.access_mask = access_mask;
23
if (DEBUGLEVEL >= 10) {
24
NDR_PRINT_IN_DEBUG(winreg_OpenHKCR, &r);
27
status = cli->dispatch(cli,
33
if (!NT_STATUS_IS_OK(status)) {
37
if (DEBUGLEVEL >= 10) {
38
NDR_PRINT_OUT_DEBUG(winreg_OpenHKCR, &r);
41
if (NT_STATUS_IS_ERR(status)) {
45
/* Return variables */
46
*handle = *r.out.handle;
50
*werror = r.out.result;
53
return werror_to_ntstatus(r.out.result);
56
NTSTATUS rpccli_winreg_OpenHKCU(struct rpc_pipe_client *cli,
58
uint16_t *system_name /* [in] [unique] */,
59
uint32_t access_mask /* [in] */,
60
struct policy_handle *handle /* [out] [ref] */,
63
struct winreg_OpenHKCU r;
67
r.in.system_name = system_name;
68
r.in.access_mask = access_mask;
70
if (DEBUGLEVEL >= 10) {
71
NDR_PRINT_IN_DEBUG(winreg_OpenHKCU, &r);
74
status = cli->dispatch(cli,
80
if (!NT_STATUS_IS_OK(status)) {
84
if (DEBUGLEVEL >= 10) {
85
NDR_PRINT_OUT_DEBUG(winreg_OpenHKCU, &r);
88
if (NT_STATUS_IS_ERR(status)) {
92
/* Return variables */
93
*handle = *r.out.handle;
97
*werror = r.out.result;
100
return werror_to_ntstatus(r.out.result);
103
NTSTATUS rpccli_winreg_OpenHKLM(struct rpc_pipe_client *cli,
105
uint16_t *system_name /* [in] [unique] */,
106
uint32_t access_mask /* [in] */,
107
struct policy_handle *handle /* [out] [ref] */,
110
struct winreg_OpenHKLM r;
114
r.in.system_name = system_name;
115
r.in.access_mask = access_mask;
117
if (DEBUGLEVEL >= 10) {
118
NDR_PRINT_IN_DEBUG(winreg_OpenHKLM, &r);
121
status = cli->dispatch(cli,
127
if (!NT_STATUS_IS_OK(status)) {
131
if (DEBUGLEVEL >= 10) {
132
NDR_PRINT_OUT_DEBUG(winreg_OpenHKLM, &r);
135
if (NT_STATUS_IS_ERR(status)) {
139
/* Return variables */
140
*handle = *r.out.handle;
144
*werror = r.out.result;
147
return werror_to_ntstatus(r.out.result);
150
NTSTATUS rpccli_winreg_OpenHKPD(struct rpc_pipe_client *cli,
152
uint16_t *system_name /* [in] [unique] */,
153
uint32_t access_mask /* [in] */,
154
struct policy_handle *handle /* [out] [ref] */,
157
struct winreg_OpenHKPD r;
161
r.in.system_name = system_name;
162
r.in.access_mask = access_mask;
164
if (DEBUGLEVEL >= 10) {
165
NDR_PRINT_IN_DEBUG(winreg_OpenHKPD, &r);
168
status = cli->dispatch(cli,
174
if (!NT_STATUS_IS_OK(status)) {
178
if (DEBUGLEVEL >= 10) {
179
NDR_PRINT_OUT_DEBUG(winreg_OpenHKPD, &r);
182
if (NT_STATUS_IS_ERR(status)) {
186
/* Return variables */
187
*handle = *r.out.handle;
191
*werror = r.out.result;
194
return werror_to_ntstatus(r.out.result);
197
NTSTATUS rpccli_winreg_OpenHKU(struct rpc_pipe_client *cli,
199
uint16_t *system_name /* [in] [unique] */,
200
uint32_t access_mask /* [in] */,
201
struct policy_handle *handle /* [out] [ref] */,
204
struct winreg_OpenHKU r;
208
r.in.system_name = system_name;
209
r.in.access_mask = access_mask;
211
if (DEBUGLEVEL >= 10) {
212
NDR_PRINT_IN_DEBUG(winreg_OpenHKU, &r);
215
status = cli->dispatch(cli,
221
if (!NT_STATUS_IS_OK(status)) {
225
if (DEBUGLEVEL >= 10) {
226
NDR_PRINT_OUT_DEBUG(winreg_OpenHKU, &r);
229
if (NT_STATUS_IS_ERR(status)) {
233
/* Return variables */
234
*handle = *r.out.handle;
238
*werror = r.out.result;
241
return werror_to_ntstatus(r.out.result);
244
NTSTATUS rpccli_winreg_CloseKey(struct rpc_pipe_client *cli,
246
struct policy_handle *handle /* [in,out] [ref] */,
249
struct winreg_CloseKey r;
253
r.in.handle = handle;
255
if (DEBUGLEVEL >= 10) {
256
NDR_PRINT_IN_DEBUG(winreg_CloseKey, &r);
259
status = cli->dispatch(cli,
265
if (!NT_STATUS_IS_OK(status)) {
269
if (DEBUGLEVEL >= 10) {
270
NDR_PRINT_OUT_DEBUG(winreg_CloseKey, &r);
273
if (NT_STATUS_IS_ERR(status)) {
277
/* Return variables */
278
*handle = *r.out.handle;
282
*werror = r.out.result;
285
return werror_to_ntstatus(r.out.result);
288
NTSTATUS rpccli_winreg_CreateKey(struct rpc_pipe_client *cli,
290
struct policy_handle *handle /* [in] [ref] */,
291
struct winreg_String name /* [in] */,
292
struct winreg_String keyclass /* [in] */,
293
uint32_t options /* [in] */,
294
uint32_t access_mask /* [in] */,
295
struct winreg_SecBuf *secdesc /* [in] [unique] */,
296
struct policy_handle *new_handle /* [out] [ref] */,
297
enum winreg_CreateAction *action_taken /* [in,out] [unique] */,
300
struct winreg_CreateKey r;
304
r.in.handle = handle;
306
r.in.keyclass = keyclass;
307
r.in.options = options;
308
r.in.access_mask = access_mask;
309
r.in.secdesc = secdesc;
310
r.in.action_taken = action_taken;
312
if (DEBUGLEVEL >= 10) {
313
NDR_PRINT_IN_DEBUG(winreg_CreateKey, &r);
316
status = cli->dispatch(cli,
319
NDR_WINREG_CREATEKEY,
322
if (!NT_STATUS_IS_OK(status)) {
326
if (DEBUGLEVEL >= 10) {
327
NDR_PRINT_OUT_DEBUG(winreg_CreateKey, &r);
330
if (NT_STATUS_IS_ERR(status)) {
334
/* Return variables */
335
*new_handle = *r.out.new_handle;
336
if (action_taken && r.out.action_taken) {
337
*action_taken = *r.out.action_taken;
342
*werror = r.out.result;
345
return werror_to_ntstatus(r.out.result);
348
NTSTATUS rpccli_winreg_DeleteKey(struct rpc_pipe_client *cli,
350
struct policy_handle *handle /* [in] [ref] */,
351
struct winreg_String key /* [in] */,
354
struct winreg_DeleteKey r;
358
r.in.handle = handle;
361
if (DEBUGLEVEL >= 10) {
362
NDR_PRINT_IN_DEBUG(winreg_DeleteKey, &r);
365
status = cli->dispatch(cli,
368
NDR_WINREG_DELETEKEY,
371
if (!NT_STATUS_IS_OK(status)) {
375
if (DEBUGLEVEL >= 10) {
376
NDR_PRINT_OUT_DEBUG(winreg_DeleteKey, &r);
379
if (NT_STATUS_IS_ERR(status)) {
383
/* Return variables */
387
*werror = r.out.result;
390
return werror_to_ntstatus(r.out.result);
393
NTSTATUS rpccli_winreg_DeleteValue(struct rpc_pipe_client *cli,
395
struct policy_handle *handle /* [in] [ref] */,
396
struct winreg_String value /* [in] */,
399
struct winreg_DeleteValue r;
403
r.in.handle = handle;
406
if (DEBUGLEVEL >= 10) {
407
NDR_PRINT_IN_DEBUG(winreg_DeleteValue, &r);
410
status = cli->dispatch(cli,
413
NDR_WINREG_DELETEVALUE,
416
if (!NT_STATUS_IS_OK(status)) {
420
if (DEBUGLEVEL >= 10) {
421
NDR_PRINT_OUT_DEBUG(winreg_DeleteValue, &r);
424
if (NT_STATUS_IS_ERR(status)) {
428
/* Return variables */
432
*werror = r.out.result;
435
return werror_to_ntstatus(r.out.result);
438
NTSTATUS rpccli_winreg_EnumKey(struct rpc_pipe_client *cli,
440
struct policy_handle *handle /* [in] [ref] */,
441
uint32_t enum_index /* [in] */,
442
struct winreg_StringBuf *name /* [in,out] [ref] */,
443
struct winreg_StringBuf *keyclass /* [in,out] [unique] */,
444
NTTIME *last_changed_time /* [in,out] [unique] */,
447
struct winreg_EnumKey r;
451
r.in.handle = handle;
452
r.in.enum_index = enum_index;
454
r.in.keyclass = keyclass;
455
r.in.last_changed_time = last_changed_time;
457
if (DEBUGLEVEL >= 10) {
458
NDR_PRINT_IN_DEBUG(winreg_EnumKey, &r);
461
status = cli->dispatch(cli,
467
if (!NT_STATUS_IS_OK(status)) {
471
if (DEBUGLEVEL >= 10) {
472
NDR_PRINT_OUT_DEBUG(winreg_EnumKey, &r);
475
if (NT_STATUS_IS_ERR(status)) {
479
/* Return variables */
481
if (keyclass && r.out.keyclass) {
482
*keyclass = *r.out.keyclass;
484
if (last_changed_time && r.out.last_changed_time) {
485
*last_changed_time = *r.out.last_changed_time;
490
*werror = r.out.result;
493
return werror_to_ntstatus(r.out.result);
496
NTSTATUS rpccli_winreg_EnumValue(struct rpc_pipe_client *cli,
498
struct policy_handle *handle /* [in] [ref] */,
499
uint32_t enum_index /* [in] */,
500
struct winreg_ValNameBuf *name /* [in,out] [ref] */,
501
enum winreg_Type *type /* [in,out] [unique] */,
502
uint8_t *value /* [in,out] [unique,length_is(*length),size_is(*size)] */,
503
uint32_t *size /* [in,out] [unique] */,
504
uint32_t *length /* [in,out] [unique] */,
507
struct winreg_EnumValue r;
511
r.in.handle = handle;
512
r.in.enum_index = enum_index;
517
r.in.length = length;
519
if (DEBUGLEVEL >= 10) {
520
NDR_PRINT_IN_DEBUG(winreg_EnumValue, &r);
523
status = cli->dispatch(cli,
526
NDR_WINREG_ENUMVALUE,
529
if (!NT_STATUS_IS_OK(status)) {
533
if (DEBUGLEVEL >= 10) {
534
NDR_PRINT_OUT_DEBUG(winreg_EnumValue, &r);
537
if (NT_STATUS_IS_ERR(status)) {
541
/* Return variables */
543
if (type && r.out.type) {
546
if (value && r.out.value) {
547
memcpy(value, r.out.value, (*r.in.size) * sizeof(*value));
549
if (size && r.out.size) {
552
if (length && r.out.length) {
553
*length = *r.out.length;
558
*werror = r.out.result;
561
return werror_to_ntstatus(r.out.result);
564
NTSTATUS rpccli_winreg_FlushKey(struct rpc_pipe_client *cli,
566
struct policy_handle *handle /* [in] [ref] */,
569
struct winreg_FlushKey r;
573
r.in.handle = handle;
575
if (DEBUGLEVEL >= 10) {
576
NDR_PRINT_IN_DEBUG(winreg_FlushKey, &r);
579
status = cli->dispatch(cli,
585
if (!NT_STATUS_IS_OK(status)) {
589
if (DEBUGLEVEL >= 10) {
590
NDR_PRINT_OUT_DEBUG(winreg_FlushKey, &r);
593
if (NT_STATUS_IS_ERR(status)) {
597
/* Return variables */
601
*werror = r.out.result;
604
return werror_to_ntstatus(r.out.result);
607
NTSTATUS rpccli_winreg_GetKeySecurity(struct rpc_pipe_client *cli,
609
struct policy_handle *handle /* [in] [ref] */,
610
uint32_t sec_info /* [in] */,
611
struct KeySecurityData *sd /* [in,out] [ref] */,
614
struct winreg_GetKeySecurity r;
618
r.in.handle = handle;
619
r.in.sec_info = sec_info;
622
if (DEBUGLEVEL >= 10) {
623
NDR_PRINT_IN_DEBUG(winreg_GetKeySecurity, &r);
626
status = cli->dispatch(cli,
629
NDR_WINREG_GETKEYSECURITY,
632
if (!NT_STATUS_IS_OK(status)) {
636
if (DEBUGLEVEL >= 10) {
637
NDR_PRINT_OUT_DEBUG(winreg_GetKeySecurity, &r);
640
if (NT_STATUS_IS_ERR(status)) {
644
/* Return variables */
649
*werror = r.out.result;
652
return werror_to_ntstatus(r.out.result);
655
NTSTATUS rpccli_winreg_LoadKey(struct rpc_pipe_client *cli,
657
struct policy_handle *handle /* [in] [ref] */,
658
struct winreg_String *keyname /* [in] [unique] */,
659
struct winreg_String *filename /* [in] [unique] */,
662
struct winreg_LoadKey r;
666
r.in.handle = handle;
667
r.in.keyname = keyname;
668
r.in.filename = filename;
670
if (DEBUGLEVEL >= 10) {
671
NDR_PRINT_IN_DEBUG(winreg_LoadKey, &r);
674
status = cli->dispatch(cli,
680
if (!NT_STATUS_IS_OK(status)) {
684
if (DEBUGLEVEL >= 10) {
685
NDR_PRINT_OUT_DEBUG(winreg_LoadKey, &r);
688
if (NT_STATUS_IS_ERR(status)) {
692
/* Return variables */
696
*werror = r.out.result;
699
return werror_to_ntstatus(r.out.result);
702
NTSTATUS rpccli_winreg_NotifyChangeKeyValue(struct rpc_pipe_client *cli,
704
struct policy_handle *handle /* [in] [ref] */,
705
uint8_t watch_subtree /* [in] */,
706
uint32_t notify_filter /* [in] */,
707
uint32_t unknown /* [in] */,
708
struct winreg_String string1 /* [in] */,
709
struct winreg_String string2 /* [in] */,
710
uint32_t unknown2 /* [in] */,
713
struct winreg_NotifyChangeKeyValue r;
717
r.in.handle = handle;
718
r.in.watch_subtree = watch_subtree;
719
r.in.notify_filter = notify_filter;
720
r.in.unknown = unknown;
721
r.in.string1 = string1;
722
r.in.string2 = string2;
723
r.in.unknown2 = unknown2;
725
if (DEBUGLEVEL >= 10) {
726
NDR_PRINT_IN_DEBUG(winreg_NotifyChangeKeyValue, &r);
729
status = cli->dispatch(cli,
732
NDR_WINREG_NOTIFYCHANGEKEYVALUE,
735
if (!NT_STATUS_IS_OK(status)) {
739
if (DEBUGLEVEL >= 10) {
740
NDR_PRINT_OUT_DEBUG(winreg_NotifyChangeKeyValue, &r);
743
if (NT_STATUS_IS_ERR(status)) {
747
/* Return variables */
751
*werror = r.out.result;
754
return werror_to_ntstatus(r.out.result);
757
NTSTATUS rpccli_winreg_OpenKey(struct rpc_pipe_client *cli,
759
struct policy_handle *parent_handle /* [in] [ref] */,
760
struct winreg_String keyname /* [in] */,
761
uint32_t unknown /* [in] */,
762
uint32_t access_mask /* [in] */,
763
struct policy_handle *handle /* [out] [ref] */,
766
struct winreg_OpenKey r;
770
r.in.parent_handle = parent_handle;
771
r.in.keyname = keyname;
772
r.in.unknown = unknown;
773
r.in.access_mask = access_mask;
775
if (DEBUGLEVEL >= 10) {
776
NDR_PRINT_IN_DEBUG(winreg_OpenKey, &r);
779
status = cli->dispatch(cli,
785
if (!NT_STATUS_IS_OK(status)) {
789
if (DEBUGLEVEL >= 10) {
790
NDR_PRINT_OUT_DEBUG(winreg_OpenKey, &r);
793
if (NT_STATUS_IS_ERR(status)) {
797
/* Return variables */
798
*handle = *r.out.handle;
802
*werror = r.out.result;
805
return werror_to_ntstatus(r.out.result);
808
NTSTATUS rpccli_winreg_QueryInfoKey(struct rpc_pipe_client *cli,
810
struct policy_handle *handle /* [in] [ref] */,
811
struct winreg_String *classname /* [in,out] [ref] */,
812
uint32_t *num_subkeys /* [out] [ref] */,
813
uint32_t *max_subkeylen /* [out] [ref] */,
814
uint32_t *max_classlen /* [out] [ref] */,
815
uint32_t *num_values /* [out] [ref] */,
816
uint32_t *max_valnamelen /* [out] [ref] */,
817
uint32_t *max_valbufsize /* [out] [ref] */,
818
uint32_t *secdescsize /* [out] [ref] */,
819
NTTIME *last_changed_time /* [out] [ref] */,
822
struct winreg_QueryInfoKey r;
826
r.in.handle = handle;
827
r.in.classname = classname;
829
if (DEBUGLEVEL >= 10) {
830
NDR_PRINT_IN_DEBUG(winreg_QueryInfoKey, &r);
833
status = cli->dispatch(cli,
836
NDR_WINREG_QUERYINFOKEY,
839
if (!NT_STATUS_IS_OK(status)) {
843
if (DEBUGLEVEL >= 10) {
844
NDR_PRINT_OUT_DEBUG(winreg_QueryInfoKey, &r);
847
if (NT_STATUS_IS_ERR(status)) {
851
/* Return variables */
852
*classname = *r.out.classname;
853
*num_subkeys = *r.out.num_subkeys;
854
*max_subkeylen = *r.out.max_subkeylen;
855
*max_classlen = *r.out.max_classlen;
856
*num_values = *r.out.num_values;
857
*max_valnamelen = *r.out.max_valnamelen;
858
*max_valbufsize = *r.out.max_valbufsize;
859
*secdescsize = *r.out.secdescsize;
860
*last_changed_time = *r.out.last_changed_time;
864
*werror = r.out.result;
867
return werror_to_ntstatus(r.out.result);
870
NTSTATUS rpccli_winreg_QueryValue(struct rpc_pipe_client *cli,
872
struct policy_handle *handle /* [in] [ref] */,
873
struct winreg_String *value_name /* [in] [ref] */,
874
enum winreg_Type *type /* [in,out] [unique] */,
875
uint8_t *data /* [in,out] [unique,length_is(*data_length),size_is(*data_size)] */,
876
uint32_t *data_size /* [in,out] [unique] */,
877
uint32_t *data_length /* [in,out] [unique] */,
880
struct winreg_QueryValue r;
884
r.in.handle = handle;
885
r.in.value_name = value_name;
888
r.in.data_size = data_size;
889
r.in.data_length = data_length;
891
if (DEBUGLEVEL >= 10) {
892
NDR_PRINT_IN_DEBUG(winreg_QueryValue, &r);
895
status = cli->dispatch(cli,
898
NDR_WINREG_QUERYVALUE,
901
if (!NT_STATUS_IS_OK(status)) {
905
if (DEBUGLEVEL >= 10) {
906
NDR_PRINT_OUT_DEBUG(winreg_QueryValue, &r);
909
if (NT_STATUS_IS_ERR(status)) {
913
/* Return variables */
914
if (type && r.out.type) {
917
if (data && r.out.data) {
918
memcpy(data, r.out.data, (*r.in.data_size) * sizeof(*data));
920
if (data_size && r.out.data_size) {
921
*data_size = *r.out.data_size;
923
if (data_length && r.out.data_length) {
924
*data_length = *r.out.data_length;
929
*werror = r.out.result;
932
return werror_to_ntstatus(r.out.result);
935
NTSTATUS rpccli_winreg_ReplaceKey(struct rpc_pipe_client *cli,
939
struct winreg_ReplaceKey r;
944
if (DEBUGLEVEL >= 10) {
945
NDR_PRINT_IN_DEBUG(winreg_ReplaceKey, &r);
948
status = cli->dispatch(cli,
951
NDR_WINREG_REPLACEKEY,
954
if (!NT_STATUS_IS_OK(status)) {
958
if (DEBUGLEVEL >= 10) {
959
NDR_PRINT_OUT_DEBUG(winreg_ReplaceKey, &r);
962
if (NT_STATUS_IS_ERR(status)) {
966
/* Return variables */
970
*werror = r.out.result;
973
return werror_to_ntstatus(r.out.result);
976
NTSTATUS rpccli_winreg_RestoreKey(struct rpc_pipe_client *cli,
978
struct policy_handle *handle /* [in] [ref] */,
979
struct winreg_String *filename /* [in] [ref] */,
980
uint32_t flags /* [in] */,
983
struct winreg_RestoreKey r;
987
r.in.handle = handle;
988
r.in.filename = filename;
991
if (DEBUGLEVEL >= 10) {
992
NDR_PRINT_IN_DEBUG(winreg_RestoreKey, &r);
995
status = cli->dispatch(cli,
998
NDR_WINREG_RESTOREKEY,
1001
if (!NT_STATUS_IS_OK(status)) {
1005
if (DEBUGLEVEL >= 10) {
1006
NDR_PRINT_OUT_DEBUG(winreg_RestoreKey, &r);
1009
if (NT_STATUS_IS_ERR(status)) {
1013
/* Return variables */
1017
*werror = r.out.result;
1020
return werror_to_ntstatus(r.out.result);
1023
NTSTATUS rpccli_winreg_SaveKey(struct rpc_pipe_client *cli,
1024
TALLOC_CTX *mem_ctx,
1025
struct policy_handle *handle /* [in] [ref] */,
1026
struct winreg_String *filename /* [in] [ref] */,
1027
struct KeySecurityAttribute *sec_attrib /* [in] [unique] */,
1030
struct winreg_SaveKey r;
1034
r.in.handle = handle;
1035
r.in.filename = filename;
1036
r.in.sec_attrib = sec_attrib;
1038
if (DEBUGLEVEL >= 10) {
1039
NDR_PRINT_IN_DEBUG(winreg_SaveKey, &r);
1042
status = cli->dispatch(cli,
1048
if (!NT_STATUS_IS_OK(status)) {
1052
if (DEBUGLEVEL >= 10) {
1053
NDR_PRINT_OUT_DEBUG(winreg_SaveKey, &r);
1056
if (NT_STATUS_IS_ERR(status)) {
1060
/* Return variables */
1064
*werror = r.out.result;
1067
return werror_to_ntstatus(r.out.result);
1070
NTSTATUS rpccli_winreg_SetKeySecurity(struct rpc_pipe_client *cli,
1071
TALLOC_CTX *mem_ctx,
1072
struct policy_handle *handle /* [in] [ref] */,
1073
uint32_t sec_info /* [in] */,
1074
struct KeySecurityData *sd /* [in] [ref] */,
1077
struct winreg_SetKeySecurity r;
1081
r.in.handle = handle;
1082
r.in.sec_info = sec_info;
1085
if (DEBUGLEVEL >= 10) {
1086
NDR_PRINT_IN_DEBUG(winreg_SetKeySecurity, &r);
1089
status = cli->dispatch(cli,
1092
NDR_WINREG_SETKEYSECURITY,
1095
if (!NT_STATUS_IS_OK(status)) {
1099
if (DEBUGLEVEL >= 10) {
1100
NDR_PRINT_OUT_DEBUG(winreg_SetKeySecurity, &r);
1103
if (NT_STATUS_IS_ERR(status)) {
1107
/* Return variables */
1111
*werror = r.out.result;
1114
return werror_to_ntstatus(r.out.result);
1117
NTSTATUS rpccli_winreg_SetValue(struct rpc_pipe_client *cli,
1118
TALLOC_CTX *mem_ctx,
1119
struct policy_handle *handle /* [in] [ref] */,
1120
struct winreg_String name /* [in] */,
1121
enum winreg_Type type /* [in] */,
1122
uint8_t *data /* [in] [ref,size_is(size)] */,
1123
uint32_t size /* [in] */,
1126
struct winreg_SetValue r;
1130
r.in.handle = handle;
1136
if (DEBUGLEVEL >= 10) {
1137
NDR_PRINT_IN_DEBUG(winreg_SetValue, &r);
1140
status = cli->dispatch(cli,
1143
NDR_WINREG_SETVALUE,
1146
if (!NT_STATUS_IS_OK(status)) {
1150
if (DEBUGLEVEL >= 10) {
1151
NDR_PRINT_OUT_DEBUG(winreg_SetValue, &r);
1154
if (NT_STATUS_IS_ERR(status)) {
1158
/* Return variables */
1162
*werror = r.out.result;
1165
return werror_to_ntstatus(r.out.result);
1168
NTSTATUS rpccli_winreg_UnLoadKey(struct rpc_pipe_client *cli,
1169
TALLOC_CTX *mem_ctx,
1172
struct winreg_UnLoadKey r;
1177
if (DEBUGLEVEL >= 10) {
1178
NDR_PRINT_IN_DEBUG(winreg_UnLoadKey, &r);
1181
status = cli->dispatch(cli,
1184
NDR_WINREG_UNLOADKEY,
1187
if (!NT_STATUS_IS_OK(status)) {
1191
if (DEBUGLEVEL >= 10) {
1192
NDR_PRINT_OUT_DEBUG(winreg_UnLoadKey, &r);
1195
if (NT_STATUS_IS_ERR(status)) {
1199
/* Return variables */
1203
*werror = r.out.result;
1206
return werror_to_ntstatus(r.out.result);
1209
NTSTATUS rpccli_winreg_InitiateSystemShutdown(struct rpc_pipe_client *cli,
1210
TALLOC_CTX *mem_ctx,
1211
uint16_t *hostname /* [in] [unique] */,
1212
struct lsa_StringLarge *message /* [in] [unique] */,
1213
uint32_t timeout /* [in] */,
1214
uint8_t force_apps /* [in] */,
1215
uint8_t do_reboot /* [in] */,
1218
struct winreg_InitiateSystemShutdown r;
1222
r.in.hostname = hostname;
1223
r.in.message = message;
1224
r.in.timeout = timeout;
1225
r.in.force_apps = force_apps;
1226
r.in.do_reboot = do_reboot;
1228
if (DEBUGLEVEL >= 10) {
1229
NDR_PRINT_IN_DEBUG(winreg_InitiateSystemShutdown, &r);
1232
status = cli->dispatch(cli,
1235
NDR_WINREG_INITIATESYSTEMSHUTDOWN,
1238
if (!NT_STATUS_IS_OK(status)) {
1242
if (DEBUGLEVEL >= 10) {
1243
NDR_PRINT_OUT_DEBUG(winreg_InitiateSystemShutdown, &r);
1246
if (NT_STATUS_IS_ERR(status)) {
1250
/* Return variables */
1254
*werror = r.out.result;
1257
return werror_to_ntstatus(r.out.result);
1260
NTSTATUS rpccli_winreg_AbortSystemShutdown(struct rpc_pipe_client *cli,
1261
TALLOC_CTX *mem_ctx,
1262
uint16_t *server /* [in] [unique] */,
1265
struct winreg_AbortSystemShutdown r;
1269
r.in.server = server;
1271
if (DEBUGLEVEL >= 10) {
1272
NDR_PRINT_IN_DEBUG(winreg_AbortSystemShutdown, &r);
1275
status = cli->dispatch(cli,
1278
NDR_WINREG_ABORTSYSTEMSHUTDOWN,
1281
if (!NT_STATUS_IS_OK(status)) {
1285
if (DEBUGLEVEL >= 10) {
1286
NDR_PRINT_OUT_DEBUG(winreg_AbortSystemShutdown, &r);
1289
if (NT_STATUS_IS_ERR(status)) {
1293
/* Return variables */
1297
*werror = r.out.result;
1300
return werror_to_ntstatus(r.out.result);
1303
NTSTATUS rpccli_winreg_GetVersion(struct rpc_pipe_client *cli,
1304
TALLOC_CTX *mem_ctx,
1305
struct policy_handle *handle /* [in] [ref] */,
1306
uint32_t *version /* [out] [ref] */,
1309
struct winreg_GetVersion r;
1313
r.in.handle = handle;
1315
if (DEBUGLEVEL >= 10) {
1316
NDR_PRINT_IN_DEBUG(winreg_GetVersion, &r);
1319
status = cli->dispatch(cli,
1322
NDR_WINREG_GETVERSION,
1325
if (!NT_STATUS_IS_OK(status)) {
1329
if (DEBUGLEVEL >= 10) {
1330
NDR_PRINT_OUT_DEBUG(winreg_GetVersion, &r);
1333
if (NT_STATUS_IS_ERR(status)) {
1337
/* Return variables */
1338
*version = *r.out.version;
1342
*werror = r.out.result;
1345
return werror_to_ntstatus(r.out.result);
1348
NTSTATUS rpccli_winreg_OpenHKCC(struct rpc_pipe_client *cli,
1349
TALLOC_CTX *mem_ctx,
1350
uint16_t *system_name /* [in] [unique] */,
1351
uint32_t access_mask /* [in] */,
1352
struct policy_handle *handle /* [out] [ref] */,
1355
struct winreg_OpenHKCC r;
1359
r.in.system_name = system_name;
1360
r.in.access_mask = access_mask;
1362
if (DEBUGLEVEL >= 10) {
1363
NDR_PRINT_IN_DEBUG(winreg_OpenHKCC, &r);
1366
status = cli->dispatch(cli,
1369
NDR_WINREG_OPENHKCC,
1372
if (!NT_STATUS_IS_OK(status)) {
1376
if (DEBUGLEVEL >= 10) {
1377
NDR_PRINT_OUT_DEBUG(winreg_OpenHKCC, &r);
1380
if (NT_STATUS_IS_ERR(status)) {
1384
/* Return variables */
1385
*handle = *r.out.handle;
1389
*werror = r.out.result;
1392
return werror_to_ntstatus(r.out.result);
1395
NTSTATUS rpccli_winreg_OpenHKDD(struct rpc_pipe_client *cli,
1396
TALLOC_CTX *mem_ctx,
1397
uint16_t *system_name /* [in] [unique] */,
1398
uint32_t access_mask /* [in] */,
1399
struct policy_handle *handle /* [out] [ref] */,
1402
struct winreg_OpenHKDD r;
1406
r.in.system_name = system_name;
1407
r.in.access_mask = access_mask;
1409
if (DEBUGLEVEL >= 10) {
1410
NDR_PRINT_IN_DEBUG(winreg_OpenHKDD, &r);
1413
status = cli->dispatch(cli,
1416
NDR_WINREG_OPENHKDD,
1419
if (!NT_STATUS_IS_OK(status)) {
1423
if (DEBUGLEVEL >= 10) {
1424
NDR_PRINT_OUT_DEBUG(winreg_OpenHKDD, &r);
1427
if (NT_STATUS_IS_ERR(status)) {
1431
/* Return variables */
1432
*handle = *r.out.handle;
1436
*werror = r.out.result;
1439
return werror_to_ntstatus(r.out.result);
1442
NTSTATUS rpccli_winreg_QueryMultipleValues(struct rpc_pipe_client *cli,
1443
TALLOC_CTX *mem_ctx,
1444
struct policy_handle *key_handle /* [in] [ref] */,
1445
struct QueryMultipleValue *values /* [in,out] [ref,length_is(num_values),size_is(num_values)] */,
1446
uint32_t num_values /* [in] */,
1447
uint8_t *buffer /* [in,out] [unique,length_is(*buffer_size),size_is(*buffer_size)] */,
1448
uint32_t *buffer_size /* [in,out] [ref] */,
1451
struct winreg_QueryMultipleValues r;
1455
r.in.key_handle = key_handle;
1456
r.in.values = values;
1457
r.in.num_values = num_values;
1458
r.in.buffer = buffer;
1459
r.in.buffer_size = buffer_size;
1461
if (DEBUGLEVEL >= 10) {
1462
NDR_PRINT_IN_DEBUG(winreg_QueryMultipleValues, &r);
1465
status = cli->dispatch(cli,
1468
NDR_WINREG_QUERYMULTIPLEVALUES,
1471
if (!NT_STATUS_IS_OK(status)) {
1475
if (DEBUGLEVEL >= 10) {
1476
NDR_PRINT_OUT_DEBUG(winreg_QueryMultipleValues, &r);
1479
if (NT_STATUS_IS_ERR(status)) {
1483
/* Return variables */
1484
memcpy(values, r.out.values, (r.in.num_values) * sizeof(*values));
1485
if (buffer && r.out.buffer) {
1486
memcpy(buffer, r.out.buffer, (*r.in.buffer_size) * sizeof(*buffer));
1488
*buffer_size = *r.out.buffer_size;
1492
*werror = r.out.result;
1495
return werror_to_ntstatus(r.out.result);
1498
NTSTATUS rpccli_winreg_InitiateSystemShutdownEx(struct rpc_pipe_client *cli,
1499
TALLOC_CTX *mem_ctx,
1500
uint16_t *hostname /* [in] [unique] */,
1501
struct lsa_StringLarge *message /* [in] [unique] */,
1502
uint32_t timeout /* [in] */,
1503
uint8_t force_apps /* [in] */,
1504
uint8_t do_reboot /* [in] */,
1505
uint32_t reason /* [in] */,
1508
struct winreg_InitiateSystemShutdownEx r;
1512
r.in.hostname = hostname;
1513
r.in.message = message;
1514
r.in.timeout = timeout;
1515
r.in.force_apps = force_apps;
1516
r.in.do_reboot = do_reboot;
1517
r.in.reason = reason;
1519
if (DEBUGLEVEL >= 10) {
1520
NDR_PRINT_IN_DEBUG(winreg_InitiateSystemShutdownEx, &r);
1523
status = cli->dispatch(cli,
1526
NDR_WINREG_INITIATESYSTEMSHUTDOWNEX,
1529
if (!NT_STATUS_IS_OK(status)) {
1533
if (DEBUGLEVEL >= 10) {
1534
NDR_PRINT_OUT_DEBUG(winreg_InitiateSystemShutdownEx, &r);
1537
if (NT_STATUS_IS_ERR(status)) {
1541
/* Return variables */
1545
*werror = r.out.result;
1548
return werror_to_ntstatus(r.out.result);
1551
NTSTATUS rpccli_winreg_SaveKeyEx(struct rpc_pipe_client *cli,
1552
TALLOC_CTX *mem_ctx,
1555
struct winreg_SaveKeyEx r;
1560
if (DEBUGLEVEL >= 10) {
1561
NDR_PRINT_IN_DEBUG(winreg_SaveKeyEx, &r);
1564
status = cli->dispatch(cli,
1567
NDR_WINREG_SAVEKEYEX,
1570
if (!NT_STATUS_IS_OK(status)) {
1574
if (DEBUGLEVEL >= 10) {
1575
NDR_PRINT_OUT_DEBUG(winreg_SaveKeyEx, &r);
1578
if (NT_STATUS_IS_ERR(status)) {
1582
/* Return variables */
1586
*werror = r.out.result;
1589
return werror_to_ntstatus(r.out.result);
1592
NTSTATUS rpccli_winreg_OpenHKPT(struct rpc_pipe_client *cli,
1593
TALLOC_CTX *mem_ctx,
1594
uint16_t *system_name /* [in] [unique] */,
1595
uint32_t access_mask /* [in] */,
1596
struct policy_handle *handle /* [out] [ref] */,
1599
struct winreg_OpenHKPT r;
1603
r.in.system_name = system_name;
1604
r.in.access_mask = access_mask;
1606
if (DEBUGLEVEL >= 10) {
1607
NDR_PRINT_IN_DEBUG(winreg_OpenHKPT, &r);
1610
status = cli->dispatch(cli,
1613
NDR_WINREG_OPENHKPT,
1616
if (!NT_STATUS_IS_OK(status)) {
1620
if (DEBUGLEVEL >= 10) {
1621
NDR_PRINT_OUT_DEBUG(winreg_OpenHKPT, &r);
1624
if (NT_STATUS_IS_ERR(status)) {
1628
/* Return variables */
1629
*handle = *r.out.handle;
1633
*werror = r.out.result;
1636
return werror_to_ntstatus(r.out.result);
1639
NTSTATUS rpccli_winreg_OpenHKPN(struct rpc_pipe_client *cli,
1640
TALLOC_CTX *mem_ctx,
1641
uint16_t *system_name /* [in] [unique] */,
1642
uint32_t access_mask /* [in] */,
1643
struct policy_handle *handle /* [out] [ref] */,
1646
struct winreg_OpenHKPN r;
1650
r.in.system_name = system_name;
1651
r.in.access_mask = access_mask;
1653
if (DEBUGLEVEL >= 10) {
1654
NDR_PRINT_IN_DEBUG(winreg_OpenHKPN, &r);
1657
status = cli->dispatch(cli,
1660
NDR_WINREG_OPENHKPN,
1663
if (!NT_STATUS_IS_OK(status)) {
1667
if (DEBUGLEVEL >= 10) {
1668
NDR_PRINT_OUT_DEBUG(winreg_OpenHKPN, &r);
1671
if (NT_STATUS_IS_ERR(status)) {
1675
/* Return variables */
1676
*handle = *r.out.handle;
1680
*werror = r.out.result;
1683
return werror_to_ntstatus(r.out.result);
1686
NTSTATUS rpccli_winreg_QueryMultipleValues2(struct rpc_pipe_client *cli,
1687
TALLOC_CTX *mem_ctx,
1690
struct winreg_QueryMultipleValues2 r;
1695
if (DEBUGLEVEL >= 10) {
1696
NDR_PRINT_IN_DEBUG(winreg_QueryMultipleValues2, &r);
1699
status = cli->dispatch(cli,
1702
NDR_WINREG_QUERYMULTIPLEVALUES2,
1705
if (!NT_STATUS_IS_OK(status)) {
1709
if (DEBUGLEVEL >= 10) {
1710
NDR_PRINT_OUT_DEBUG(winreg_QueryMultipleValues2, &r);
1713
if (NT_STATUS_IS_ERR(status)) {
1717
/* Return variables */
1721
*werror = r.out.result;
1724
return werror_to_ntstatus(r.out.result);