Merge branch 'master' of ssh://git.samba.org/data/git/abartlet/samba into extended...
[abartlet/samba.git/.git] / source3 / librpc / gen_ndr / ndr_ntsvcs.c
index 35d02a0dcbb3b58740b609155208b626c6f66185..ced6fb776746293953016d15540b0b0d6bf54376 100644 (file)
@@ -3,16 +3,17 @@
 #include "includes.h"
 #include "librpc/gen_ndr/ndr_ntsvcs.h"
 
+#include "librpc/gen_ndr/ndr_winreg.h"
 static enum ndr_err_code ndr_push_PNP_HwProfInfo(struct ndr_push *ndr, int ndr_flags, const struct PNP_HwProfInfo *r)
 {
-       uint32_t cntr_unknown2_0;
+       uint32_t cntr_friendly_name_0;
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
-               for (cntr_unknown2_0 = 0; cntr_unknown2_0 < 160; cntr_unknown2_0++) {
-                       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown2[cntr_unknown2_0]));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->profile_handle));
+               for (cntr_friendly_name_0 = 0; cntr_friendly_name_0 < 80; cntr_friendly_name_0++) {
+                       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->friendly_name[cntr_friendly_name_0]));
                }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -21,14 +22,14 @@ static enum ndr_err_code ndr_push_PNP_HwProfInfo(struct ndr_push *ndr, int ndr_f
 
 static enum ndr_err_code ndr_pull_PNP_HwProfInfo(struct ndr_pull *ndr, int ndr_flags, struct PNP_HwProfInfo *r)
 {
-       uint32_t cntr_unknown2_0;
+       uint32_t cntr_friendly_name_0;
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
-               for (cntr_unknown2_0 = 0; cntr_unknown2_0 < 160; cntr_unknown2_0++) {
-                       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown2[cntr_unknown2_0]));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->profile_handle));
+               for (cntr_friendly_name_0 = 0; cntr_friendly_name_0 < 80; cntr_friendly_name_0++) {
+                       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->friendly_name[cntr_friendly_name_0]));
                }
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -37,21 +38,21 @@ static enum ndr_err_code ndr_pull_PNP_HwProfInfo(struct ndr_pull *ndr, int ndr_f
 
 _PUBLIC_ void ndr_print_PNP_HwProfInfo(struct ndr_print *ndr, const char *name, const struct PNP_HwProfInfo *r)
 {
-       uint32_t cntr_unknown2_0;
+       uint32_t cntr_friendly_name_0;
        ndr_print_struct(ndr, name, "PNP_HwProfInfo");
        ndr->depth++;
-       ndr_print_uint32(ndr, "unknown1", r->unknown1);
-       ndr->print(ndr, "%s: ARRAY(%d)", "unknown2", (int)160);
+       ndr_print_uint32(ndr, "profile_handle", r->profile_handle);
+       ndr->print(ndr, "%s: ARRAY(%d)", "friendly_name", (int)80);
        ndr->depth++;
-       for (cntr_unknown2_0=0;cntr_unknown2_0<160;cntr_unknown2_0++) {
+       for (cntr_friendly_name_0=0;cntr_friendly_name_0<80;cntr_friendly_name_0++) {
                char *idx_0=NULL;
-               if (asprintf(&idx_0, "[%d]", cntr_unknown2_0) != -1) {
-                       ndr_print_uint16(ndr, "unknown2", r->unknown2[cntr_unknown2_0]);
+               if (asprintf(&idx_0, "[%d]", cntr_friendly_name_0) != -1) {
+                       ndr_print_uint16(ndr, "friendly_name", r->friendly_name[cntr_friendly_name_0]);
                        free(idx_0);
                }
        }
        ndr->depth--;
-       ndr_print_uint32(ndr, "unknown3", r->unknown3);
+       ndr_print_uint32(ndr, "flags", r->flags);
        ndr->depth--;
 }
 
@@ -818,7 +819,7 @@ static enum ndr_err_code ndr_push_PNP_GetDeviceRegProp(struct ndr_push *ndr, int
                if (r->in.reg_data_type == NULL) {
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.reg_data_type));
+               NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->in.reg_data_type));
                if (r->in.buffer_size == NULL) {
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
@@ -833,7 +834,7 @@ static enum ndr_err_code ndr_push_PNP_GetDeviceRegProp(struct ndr_push *ndr, int
                if (r->out.reg_data_type == NULL) {
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.reg_data_type));
+               NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.reg_data_type));
                if (r->out.buffer == NULL) {
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
@@ -875,7 +876,7 @@ static enum ndr_err_code ndr_pull_PNP_GetDeviceRegProp(struct ndr_pull *ndr, int
                }
                _mem_save_reg_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->in.reg_data_type, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.reg_data_type));
+               NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->in.reg_data_type));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reg_data_type_0, LIBNDR_FLAG_REF_ALLOC);
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
                        NDR_PULL_ALLOC(ndr, r->in.buffer_size);
@@ -907,7 +908,7 @@ static enum ndr_err_code ndr_pull_PNP_GetDeviceRegProp(struct ndr_pull *ndr, int
                }
                _mem_save_reg_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->out.reg_data_type, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.reg_data_type));
+               NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.reg_data_type));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reg_data_type_0, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_array_size(ndr, &r->out.buffer));
                NDR_CHECK(ndr_pull_array_length(ndr, &r->out.buffer));
@@ -960,7 +961,7 @@ _PUBLIC_ void ndr_print_PNP_GetDeviceRegProp(struct ndr_print *ndr, const char *
                ndr_print_uint32(ndr, "property", r->in.property);
                ndr_print_ptr(ndr, "reg_data_type", r->in.reg_data_type);
                ndr->depth++;
-               ndr_print_uint32(ndr, "reg_data_type", *r->in.reg_data_type);
+               ndr_print_winreg_Type(ndr, "reg_data_type", *r->in.reg_data_type);
                ndr->depth--;
                ndr_print_ptr(ndr, "buffer_size", r->in.buffer_size);
                ndr->depth++;
@@ -978,7 +979,7 @@ _PUBLIC_ void ndr_print_PNP_GetDeviceRegProp(struct ndr_print *ndr, const char *
                ndr->depth++;
                ndr_print_ptr(ndr, "reg_data_type", r->out.reg_data_type);
                ndr->depth++;
-               ndr_print_uint32(ndr, "reg_data_type", *r->out.reg_data_type);
+               ndr_print_winreg_Type(ndr, "reg_data_type", *r->out.reg_data_type);
                ndr->depth--;
                ndr_print_ptr(ndr, "buffer", r->out.buffer);
                ndr->depth++;
@@ -2067,7 +2068,7 @@ _PUBLIC_ void ndr_print_PNP_RequestEjectPC(struct ndr_print *ndr, const char *na
 static enum ndr_err_code ndr_push_PNP_HwProfFlags(struct ndr_push *ndr, int flags, const struct PNP_HwProfFlags *r)
 {
        if (flags & NDR_IN) {
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.action));
                if (r->in.devicepath == NULL) {
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
@@ -2075,14 +2076,14 @@ static enum ndr_err_code ndr_push_PNP_HwProfFlags(struct ndr_push *ndr, int flag
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.devicepath, CH_UTF16)));
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.devicepath, ndr_charset_length(r->in.devicepath, CH_UTF16), sizeof(uint16_t), CH_UTF16));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
-               if (r->in.unknown3 == NULL) {
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.config));
+               if (r->in.profile_flags == NULL) {
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.unknown3));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.unknown4));
-               if (r->in.unknown4) {
-                       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.unknown4));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.profile_flags));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.veto_type));
+               if (r->in.veto_type) {
+                       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.veto_type));
                }
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.unknown5));
                if (r->in.unknown5) {
@@ -2091,17 +2092,17 @@ static enum ndr_err_code ndr_push_PNP_HwProfFlags(struct ndr_push *ndr, int flag
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.unknown5, CH_UTF16)));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.unknown5, ndr_charset_length(r->in.unknown5, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown6));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown7));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.name_length));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
        }
        if (flags & NDR_OUT) {
-               if (r->out.unknown3 == NULL) {
+               if (r->out.profile_flags == NULL) {
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.unknown3));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.unknown4));
-               if (r->out.unknown4) {
-                       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->out.unknown4));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.profile_flags));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.veto_type));
+               if (r->out.veto_type) {
+                       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->out.veto_type));
                }
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.unknown5a));
                if (r->out.unknown5a) {
@@ -2120,18 +2121,18 @@ static enum ndr_err_code ndr_push_PNP_HwProfFlags(struct ndr_push *ndr, int flag
 
 static enum ndr_err_code ndr_pull_PNP_HwProfFlags(struct ndr_pull *ndr, int flags, struct PNP_HwProfFlags *r)
 {
-       uint32_t _ptr_unknown4;
+       uint32_t _ptr_veto_type;
        uint32_t _ptr_unknown5;
        uint32_t _ptr_unknown5a;
-       TALLOC_CTX *_mem_save_unknown3_0;
-       TALLOC_CTX *_mem_save_unknown4_0;
+       TALLOC_CTX *_mem_save_profile_flags_0;
+       TALLOC_CTX *_mem_save_veto_type_0;
        TALLOC_CTX *_mem_save_unknown5_0;
        TALLOC_CTX *_mem_save_unknown5a_0;
        TALLOC_CTX *_mem_save_unknown5a_1;
        if (flags & NDR_IN) {
                ZERO_STRUCT(r->out);
 
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.action));
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.devicepath));
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.devicepath));
                if (ndr_get_array_length(ndr, &r->in.devicepath) > ndr_get_array_size(ndr, &r->in.devicepath)) {
@@ -2139,25 +2140,25 @@ static enum ndr_err_code ndr_pull_PNP_HwProfFlags(struct ndr_pull *ndr, int flag
                }
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.devicepath), sizeof(uint16_t)));
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.devicepath, ndr_get_array_length(ndr, &r->in.devicepath), sizeof(uint16_t), CH_UTF16));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.config));
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.unknown3);
-               }
-               _mem_save_unknown3_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown3, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.unknown3));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown3_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown4));
-               if (_ptr_unknown4) {
-                       NDR_PULL_ALLOC(ndr, r->in.unknown4);
+                       NDR_PULL_ALLOC(ndr, r->in.profile_flags);
+               }
+               _mem_save_profile_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
+               NDR_PULL_SET_MEM_CTX(ndr, r->in.profile_flags, LIBNDR_FLAG_REF_ALLOC);
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.profile_flags));
+               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_profile_flags_0, LIBNDR_FLAG_REF_ALLOC);
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_veto_type));
+               if (_ptr_veto_type) {
+                       NDR_PULL_ALLOC(ndr, r->in.veto_type);
                } else {
-                       r->in.unknown4 = NULL;
+                       r->in.veto_type = NULL;
                }
-               if (r->in.unknown4) {
-                       _mem_save_unknown4_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown4, 0);
-                       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.unknown4));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown4_0, 0);
+               if (r->in.veto_type) {
+                       _mem_save_veto_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, r->in.veto_type, 0);
+                       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.veto_type));
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_veto_type_0, 0);
                }
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown5));
                if (_ptr_unknown5) {
@@ -2177,30 +2178,30 @@ static enum ndr_err_code ndr_pull_PNP_HwProfFlags(struct ndr_pull *ndr, int flag
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown5, ndr_get_array_length(ndr, &r->in.unknown5), sizeof(uint16_t), CH_UTF16));
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown5_0, 0);
                }
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown6));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown7));
-               NDR_PULL_ALLOC(ndr, r->out.unknown3);
-               *r->out.unknown3 = *r->in.unknown3;
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.name_length));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
+               NDR_PULL_ALLOC(ndr, r->out.profile_flags);
+               *r->out.profile_flags = *r->in.profile_flags;
        }
        if (flags & NDR_OUT) {
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.unknown3);
-               }
-               _mem_save_unknown3_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.unknown3, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.unknown3));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown3_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown4));
-               if (_ptr_unknown4) {
-                       NDR_PULL_ALLOC(ndr, r->out.unknown4);
+                       NDR_PULL_ALLOC(ndr, r->out.profile_flags);
+               }
+               _mem_save_profile_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
+               NDR_PULL_SET_MEM_CTX(ndr, r->out.profile_flags, LIBNDR_FLAG_REF_ALLOC);
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.profile_flags));
+               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_profile_flags_0, LIBNDR_FLAG_REF_ALLOC);
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_veto_type));
+               if (_ptr_veto_type) {
+                       NDR_PULL_ALLOC(ndr, r->out.veto_type);
                } else {
-                       r->out.unknown4 = NULL;
+                       r->out.veto_type = NULL;
                }
-               if (r->out.unknown4) {
-                       _mem_save_unknown4_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->out.unknown4, 0);
-                       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->out.unknown4));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown4_0, 0);
+               if (r->out.veto_type) {
+                       _mem_save_veto_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, r->out.veto_type, 0);
+                       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->out.veto_type));
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_veto_type_0, 0);
                }
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown5a));
                if (_ptr_unknown5a) {
@@ -2246,20 +2247,20 @@ _PUBLIC_ void ndr_print_PNP_HwProfFlags(struct ndr_print *ndr, const char *name,
        if (flags & NDR_IN) {
                ndr_print_struct(ndr, "in", "PNP_HwProfFlags");
                ndr->depth++;
-               ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
+               ndr_print_uint32(ndr, "action", r->in.action);
                ndr_print_ptr(ndr, "devicepath", r->in.devicepath);
                ndr->depth++;
                ndr_print_string(ndr, "devicepath", r->in.devicepath);
                ndr->depth--;
-               ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
-               ndr_print_ptr(ndr, "unknown3", r->in.unknown3);
+               ndr_print_uint32(ndr, "config", r->in.config);
+               ndr_print_ptr(ndr, "profile_flags", r->in.profile_flags);
                ndr->depth++;
-               ndr_print_uint32(ndr, "unknown3", *r->in.unknown3);
+               ndr_print_uint32(ndr, "profile_flags", *r->in.profile_flags);
                ndr->depth--;
-               ndr_print_ptr(ndr, "unknown4", r->in.unknown4);
+               ndr_print_ptr(ndr, "veto_type", r->in.veto_type);
                ndr->depth++;
-               if (r->in.unknown4) {
-                       ndr_print_uint16(ndr, "unknown4", *r->in.unknown4);
+               if (r->in.veto_type) {
+                       ndr_print_uint16(ndr, "veto_type", *r->in.veto_type);
                }
                ndr->depth--;
                ndr_print_ptr(ndr, "unknown5", r->in.unknown5);
@@ -2268,21 +2269,21 @@ _PUBLIC_ void ndr_print_PNP_HwProfFlags(struct ndr_print *ndr, const char *name,
                        ndr_print_string(ndr, "unknown5", r->in.unknown5);
                }
                ndr->depth--;
-               ndr_print_uint32(ndr, "unknown6", r->in.unknown6);
-               ndr_print_uint32(ndr, "unknown7", r->in.unknown7);
+               ndr_print_uint32(ndr, "name_length", r->in.name_length);
+               ndr_print_uint32(ndr, "flags", r->in.flags);
                ndr->depth--;
        }
        if (flags & NDR_OUT) {
                ndr_print_struct(ndr, "out", "PNP_HwProfFlags");
                ndr->depth++;
-               ndr_print_ptr(ndr, "unknown3", r->out.unknown3);
+               ndr_print_ptr(ndr, "profile_flags", r->out.profile_flags);
                ndr->depth++;
-               ndr_print_uint32(ndr, "unknown3", *r->out.unknown3);
+               ndr_print_uint32(ndr, "profile_flags", *r->out.profile_flags);
                ndr->depth--;
-               ndr_print_ptr(ndr, "unknown4", r->out.unknown4);
+               ndr_print_ptr(ndr, "veto_type", r->out.veto_type);
                ndr->depth++;
-               if (r->out.unknown4) {
-                       ndr_print_uint16(ndr, "unknown4", *r->out.unknown4);
+               if (r->out.veto_type) {
+                       ndr_print_uint16(ndr, "veto_type", *r->out.veto_type);
                }
                ndr->depth--;
                ndr_print_ptr(ndr, "unknown5a", r->out.unknown5a);
@@ -2310,8 +2311,8 @@ static enum ndr_err_code ndr_push_PNP_GetHwProfInfo(struct ndr_push *ndr, int fl
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
                NDR_CHECK(ndr_push_PNP_HwProfInfo(ndr, NDR_SCALARS, r->in.info));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.size));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
        }
        if (flags & NDR_OUT) {
                if (r->out.info == NULL) {
@@ -2337,8 +2338,8 @@ static enum ndr_err_code ndr_pull_PNP_GetHwProfInfo(struct ndr_pull *ndr, int fl
                NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_PNP_HwProfInfo(ndr, NDR_SCALARS, r->in.info));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.size));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
                NDR_PULL_ALLOC(ndr, r->out.info);
                *r->out.info = *r->in.info;
        }
@@ -2370,8 +2371,8 @@ _PUBLIC_ void ndr_print_PNP_GetHwProfInfo(struct ndr_print *ndr, const char *nam
                ndr->depth++;
                ndr_print_PNP_HwProfInfo(ndr, "info", r->in.info);
                ndr->depth--;
-               ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
-               ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
+               ndr_print_uint32(ndr, "size", r->in.size);
+               ndr_print_uint32(ndr, "flags", r->in.flags);
                ndr->depth--;
        }
        if (flags & NDR_OUT) {
@@ -3856,10 +3857,11 @@ static const struct ndr_interface_call ntsvcs_calls[] = {
 
 static const char * const ntsvcs_endpoint_strings[] = {
        "ncacn_np:[\\pipe\\ntsvcs]", 
+       "ncacn_np:[\\pipe\\plugplay]", 
 };
 
 static const struct ndr_interface_string_array ntsvcs_endpoints = {
-       .count  = 1,
+       .count  = 2,
        .names  = ntsvcs_endpoint_strings
 };