diff options
-rw-r--r-- | librpc/gen_ndr/ndr_drsblobs.c | 24 | ||||
-rw-r--r-- | librpc/gen_ndr/ndr_krb5pac.c | 3 | ||||
-rw-r--r-- | librpc/gen_ndr/ndr_ntlmssp.c | 30 | ||||
-rw-r--r-- | librpc/gen_ndr/ndr_security.c | 12 | ||||
-rw-r--r-- | librpc/gen_ndr/ndr_spoolss.c | 423 | ||||
-rw-r--r-- | librpc/gen_ndr/ndr_svcctl.c | 24 |
6 files changed, 344 insertions, 172 deletions
diff --git a/librpc/gen_ndr/ndr_drsblobs.c b/librpc/gen_ndr/ndr_drsblobs.c index 4290ce5325..807d15f267 100644 --- a/librpc/gen_ndr/ndr_drsblobs.c +++ b/librpc/gen_ndr/ndr_drsblobs.c @@ -534,8 +534,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo1(struct ndr_push *ndr, int ndr_fl } if (ndr_flags & NDR_BUFFERS) { if (r->other_info) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->other_info)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->other_info)); NDR_CHECK(ndr_push_repsFromTo1OtherInfo(ndr, NDR_SCALARS, r->other_info)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->other_info)); } } ndr->flags = _flags_save_STRUCT; @@ -660,8 +661,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo2OtherInfo(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->dns_name1) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dns_name1)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dns_name1)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dns_name1)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dns_name1)); } ndr->flags = _flags_save_string; } @@ -669,8 +671,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo2OtherInfo(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->dns_name2) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dns_name2)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dns_name2)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dns_name2)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dns_name2)); } ndr->flags = _flags_save_string; } @@ -814,8 +817,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo2(struct ndr_push *ndr, int ndr_fl } if (ndr_flags & NDR_BUFFERS) { if (r->other_info) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->other_info)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->other_info)); NDR_CHECK(ndr_push_repsFromTo2OtherInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->other_info)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->other_info)); } } ndr->flags = _flags_save_STRUCT; @@ -1909,13 +1913,14 @@ static enum ndr_err_code ndr_push_package_PrimaryKerberosString(struct ndr_push uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING); if (r->string) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->string)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->string)); { struct ndr_push *_ndr_string; NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_string, 0, 2 * strlen_m(r->string))); NDR_CHECK(ndr_push_string(_ndr_string, NDR_SCALARS, r->string)); NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_string, 0, 2 * strlen_m(r->string))); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->string)); } ndr->flags = _flags_save_string; } @@ -2010,13 +2015,14 @@ static enum ndr_err_code ndr_push_package_PrimaryKerberosKey3(struct ndr_push *n uint32_t _flags_save_DATA_BLOB = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); if (r->value) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->value)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value)); { struct ndr_push *_ndr_value; NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_value, 0, (r->value?r->value->length:0))); NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value, NDR_SCALARS, *r->value)); NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_value, 0, (r->value?r->value->length:0))); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value)); } ndr->flags = _flags_save_DATA_BLOB; } @@ -2239,13 +2245,14 @@ static enum ndr_err_code ndr_push_package_PrimaryKerberosKey4(struct ndr_push *n uint32_t _flags_save_DATA_BLOB = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); if (r->value) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->value)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value)); { struct ndr_push *_ndr_value; NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_value, 0, (r->value?r->value->length:0))); NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value, NDR_SCALARS, *r->value)); NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_value, 0, (r->value?r->value->length:0))); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value)); } ndr->flags = _flags_save_DATA_BLOB; } @@ -3125,8 +3132,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_trustCurrentPasswords(struct ndr_push *ndr, if (ndr_flags & NDR_BUFFERS) { for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) { if (r->current[cntr_current_0]) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->current[cntr_current_0])); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->current[cntr_current_0])); NDR_CHECK(ndr_push_AuthenticationInformation(ndr, NDR_SCALARS, r->current[cntr_current_0])); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->current[cntr_current_0])); } } } diff --git a/librpc/gen_ndr/ndr_krb5pac.c b/librpc/gen_ndr/ndr_krb5pac.c index 1307be4a7a..399106485b 100644 --- a/librpc/gen_ndr/ndr_krb5pac.c +++ b/librpc/gen_ndr/ndr_krb5pac.c @@ -535,13 +535,14 @@ _PUBLIC_ enum ndr_err_code ndr_push_PAC_BUFFER_RAW(struct ndr_push *ndr, int ndr uint32_t _flags_save_DATA_BLOB_REM = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8); if (r->info) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->info)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->info)); { struct ndr_push *_ndr_info; NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 0, NDR_ROUND(r->ndr_size, 8))); NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_info, NDR_SCALARS, r->info)); NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 0, NDR_ROUND(r->ndr_size, 8))); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->info)); } ndr->flags = _flags_save_DATA_BLOB_REM; } diff --git a/librpc/gen_ndr/ndr_ntlmssp.c b/librpc/gen_ndr/ndr_ntlmssp.c index 150cc54cc3..1e59bcd094 100644 --- a/librpc/gen_ndr/ndr_ntlmssp.c +++ b/librpc/gen_ndr/ndr_ntlmssp.c @@ -286,13 +286,14 @@ _PUBLIC_ enum ndr_err_code ndr_push_NEGOTIATE_MESSAGE(struct ndr_push *ndr, int uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM)); if (r->DomainName) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->DomainName)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->DomainName)); { struct ndr_push *_ndr_DomainName; NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_DomainName, 0, strlen(r->DomainName))); NDR_CHECK(ndr_push_string(_ndr_DomainName, NDR_SCALARS, r->DomainName)); NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_DomainName, 0, strlen(r->DomainName))); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->DomainName)); } ndr->flags = _flags_save_string; } @@ -300,13 +301,14 @@ _PUBLIC_ enum ndr_err_code ndr_push_NEGOTIATE_MESSAGE(struct ndr_push *ndr, int uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM)); if (r->Workstation) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->Workstation)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->Workstation)); { struct ndr_push *_ndr_Workstation; NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_Workstation, 0, strlen(r->Workstation))); NDR_CHECK(ndr_push_string(_ndr_Workstation, NDR_SCALARS, r->Workstation)); NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_Workstation, 0, strlen(r->Workstation))); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->Workstation)); } ndr->flags = _flags_save_string; } @@ -1012,24 +1014,26 @@ _PUBLIC_ enum ndr_err_code ndr_push_CHALLENGE_MESSAGE(struct ndr_push *ndr, int uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); if (r->TargetName) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->TargetName)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->TargetName)); { struct ndr_push *_ndr_TargetName; NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_TargetName, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->TargetName))); NDR_CHECK(ndr_push_string(_ndr_TargetName, NDR_SCALARS, r->TargetName)); NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_TargetName, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->TargetName))); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->TargetName)); } ndr->flags = _flags_save_string; } if (r->TargetInfo) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->TargetInfo)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->TargetInfo)); { struct ndr_push *_ndr_TargetInfo; NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_TargetInfo, 0, ndr_size_AV_PAIR_LIST(r->TargetInfo, ndr->iconv_convenience, ndr->flags))); NDR_CHECK(ndr_push_AV_PAIR_LIST(_ndr_TargetInfo, NDR_SCALARS|NDR_BUFFERS, r->TargetInfo)); NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_TargetInfo, 0, ndr_size_AV_PAIR_LIST(r->TargetInfo, ndr->iconv_convenience, ndr->flags))); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->TargetInfo)); } NDR_CHECK(ndr_push_ntlmssp_Version(ndr, NDR_BUFFERS, &r->Version)); } @@ -1676,7 +1680,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_AUTHENTICATE_MESSAGE(struct ndr_push *ndr, i } if (ndr_flags & NDR_BUFFERS) { if (r->LmChallengeResponse) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->LmChallengeResponse)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->LmChallengeResponse)); { struct ndr_push *_ndr_LmChallengeResponse; NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_LmChallengeResponse, 0, r->LmChallengeResponseLen)); @@ -1684,9 +1688,10 @@ _PUBLIC_ enum ndr_err_code ndr_push_AUTHENTICATE_MESSAGE(struct ndr_push *ndr, i NDR_CHECK(ndr_push_ntlmssp_LM_RESPONSE(_ndr_LmChallengeResponse, NDR_SCALARS|NDR_BUFFERS, r->LmChallengeResponse)); NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_LmChallengeResponse, 0, r->LmChallengeResponseLen)); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->LmChallengeResponse)); } if (r->NtChallengeResponse) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->NtChallengeResponse)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->NtChallengeResponse)); { struct ndr_push *_ndr_NtChallengeResponse; NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_NtChallengeResponse, 0, r->NtChallengeResponseLen)); @@ -1694,18 +1699,20 @@ _PUBLIC_ enum ndr_err_code ndr_push_AUTHENTICATE_MESSAGE(struct ndr_push *ndr, i NDR_CHECK(ndr_push_ntlmssp_NTLM_RESPONSE(_ndr_NtChallengeResponse, NDR_SCALARS|NDR_BUFFERS, r->NtChallengeResponse)); NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_NtChallengeResponse, 0, r->NtChallengeResponseLen)); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->NtChallengeResponse)); } { uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); if (r->DomainName) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->DomainName)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->DomainName)); { struct ndr_push *_ndr_DomainName; NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_DomainName, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->DomainName))); NDR_CHECK(ndr_push_string(_ndr_DomainName, NDR_SCALARS, r->DomainName)); NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_DomainName, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->DomainName))); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->DomainName)); } ndr->flags = _flags_save_string; } @@ -1713,13 +1720,14 @@ _PUBLIC_ enum ndr_err_code ndr_push_AUTHENTICATE_MESSAGE(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); if (r->UserName) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->UserName)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->UserName)); { struct ndr_push *_ndr_UserName; NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_UserName, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->UserName))); NDR_CHECK(ndr_push_string(_ndr_UserName, NDR_SCALARS, r->UserName)); NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_UserName, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->UserName))); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->UserName)); } ndr->flags = _flags_save_string; } @@ -1727,24 +1735,26 @@ _PUBLIC_ enum ndr_err_code ndr_push_AUTHENTICATE_MESSAGE(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); if (r->Workstation) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->Workstation)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->Workstation)); { struct ndr_push *_ndr_Workstation; NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_Workstation, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->Workstation))); NDR_CHECK(ndr_push_string(_ndr_Workstation, NDR_SCALARS, r->Workstation)); NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_Workstation, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->Workstation))); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->Workstation)); } ndr->flags = _flags_save_string; } if (r->EncryptedRandomSessionKey) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->EncryptedRandomSessionKey)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->EncryptedRandomSessionKey)); { struct ndr_push *_ndr_EncryptedRandomSessionKey; NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_EncryptedRandomSessionKey, 0, r->EncryptedRandomSessionKey->length)); NDR_CHECK(ndr_push_DATA_BLOB(_ndr_EncryptedRandomSessionKey, NDR_SCALARS, *r->EncryptedRandomSessionKey)); NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_EncryptedRandomSessionKey, 0, r->EncryptedRandomSessionKey->length)); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->EncryptedRandomSessionKey)); } NDR_CHECK(ndr_push_ntlmssp_Version(ndr, NDR_BUFFERS, &r->Version)); } diff --git a/librpc/gen_ndr/ndr_security.c b/librpc/gen_ndr/ndr_security.c index 081b8cb3c0..711e034690 100644 --- a/librpc/gen_ndr/ndr_security.c +++ b/librpc/gen_ndr/ndr_security.c @@ -630,20 +630,24 @@ _PUBLIC_ enum ndr_err_code ndr_push_security_descriptor(struct ndr_push *ndr, in } if (ndr_flags & NDR_BUFFERS) { if (r->owner_sid) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->owner_sid)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->owner_sid)); NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->owner_sid)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->owner_sid)); } if (r->group_sid) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->group_sid)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->group_sid)); NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->group_sid)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->group_sid)); } if (r->sacl) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->sacl)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->sacl)); NDR_CHECK(ndr_push_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->sacl)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->sacl)); } if (r->dacl) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dacl)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dacl)); NDR_CHECK(ndr_push_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->dacl)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dacl)); } } ndr->flags = _flags_save_STRUCT; diff --git a/librpc/gen_ndr/ndr_spoolss.c b/librpc/gen_ndr/ndr_spoolss.c index fb93aafcac..0f6855ad52 100644 --- a/librpc/gen_ndr/ndr_spoolss.c +++ b/librpc/gen_ndr/ndr_spoolss.c @@ -358,8 +358,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo0(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->printername) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printername)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername)); } ndr->flags = _flags_save_string; } @@ -367,8 +368,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo0(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->servername) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->servername)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->servername)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->servername)); } ndr->flags = _flags_save_string; } @@ -1313,8 +1315,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo1(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->description) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->description)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->description)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->description)); } ndr->flags = _flags_save_string; } @@ -1322,8 +1325,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo1(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->name)); } ndr->flags = _flags_save_string; } @@ -1331,8 +1335,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo1(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->comment) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->comment)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->comment)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->comment)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->comment)); } ndr->flags = _flags_save_string; } @@ -1566,8 +1571,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo2(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->servername) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->servername)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->servername)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->servername)); } ndr->flags = _flags_save_string; } @@ -1575,8 +1581,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo2(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->printername) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printername)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername)); } ndr->flags = _flags_save_string; } @@ -1584,8 +1591,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo2(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->sharename) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->sharename)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->sharename)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->sharename)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->sharename)); } ndr->flags = _flags_save_string; } @@ -1593,8 +1601,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo2(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->portname) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->portname)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->portname)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->portname)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->portname)); } ndr->flags = _flags_save_string; } @@ -1602,8 +1611,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo2(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->drivername) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->drivername)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->drivername)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->drivername)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->drivername)); } ndr->flags = _flags_save_string; } @@ -1611,8 +1621,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo2(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->comment) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->comment)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->comment)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->comment)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->comment)); } ndr->flags = _flags_save_string; } @@ -1620,26 +1631,29 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo2(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->location) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->location)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->location)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->location)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->location)); } ndr->flags = _flags_save_string; } if (r->devmode) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->devmode)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode)); { struct ndr_push *_ndr_devmode; NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1)); NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode)); NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1)); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode)); } { uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->sepfile) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->sepfile)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->sepfile)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->sepfile)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->sepfile)); } ndr->flags = _flags_save_string; } @@ -1647,8 +1661,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo2(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->printprocessor) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printprocessor)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printprocessor)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printprocessor)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printprocessor)); } ndr->flags = _flags_save_string; } @@ -1656,8 +1671,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo2(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->datatype) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->datatype)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->datatype)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->datatype)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->datatype)); } ndr->flags = _flags_save_string; } @@ -1665,19 +1681,21 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo2(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->parameters) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->parameters)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->parameters)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->parameters)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->parameters)); } ndr->flags = _flags_save_string; } if (r->secdesc) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->secdesc)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc)); { struct ndr_push *_ndr_secdesc; NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1)); NDR_CHECK(ndr_push_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc)); NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1)); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc)); } } return NDR_ERR_SUCCESS; @@ -2218,13 +2236,14 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo3(struct ndr_push *ndr, i } if (ndr_flags & NDR_BUFFERS) { if (r->secdesc) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->secdesc)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc)); { struct ndr_push *_ndr_secdesc; NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1)); NDR_CHECK(ndr_push_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc)); NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1)); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc)); } } return NDR_ERR_SUCCESS; @@ -2310,8 +2329,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo4(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->printername) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printername)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername)); } ndr->flags = _flags_save_string; } @@ -2319,8 +2339,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo4(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->servername) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->servername)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->servername)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->servername)); } ndr->flags = _flags_save_string; } @@ -2455,8 +2476,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo5(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->printername) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printername)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername)); } ndr->flags = _flags_save_string; } @@ -2464,8 +2486,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo5(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->portname) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->portname)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->portname)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->portname)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->portname)); } ndr->flags = _flags_save_string; } @@ -2659,8 +2682,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo7(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->guid) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->guid)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->guid)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->guid)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->guid)); } ndr->flags = _flags_save_string; } @@ -2740,13 +2764,14 @@ static enum ndr_err_code ndr_push_spoolss_DeviceModeInfo(struct ndr_push *ndr, i } if (ndr_flags & NDR_BUFFERS) { if (r->devmode) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->devmode)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode)); { struct ndr_push *_ndr_devmode; NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1)); NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode)); NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1)); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode)); } } return NDR_ERR_SUCCESS; @@ -3228,8 +3253,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo1(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->printer_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printer_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printer_name)); } ndr->flags = _flags_save_string; } @@ -3237,8 +3263,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo1(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->server_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->server_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->server_name)); } ndr->flags = _flags_save_string; } @@ -3246,8 +3273,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo1(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->user_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->user_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->user_name)); } ndr->flags = _flags_save_string; } @@ -3255,8 +3283,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo1(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->document_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->document_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->document_name)); } ndr->flags = _flags_save_string; } @@ -3264,8 +3293,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo1(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->data_type) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_type)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_type)); } ndr->flags = _flags_save_string; } @@ -3273,8 +3303,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo1(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->text_status) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->text_status)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->text_status)); } ndr->flags = _flags_save_string; } @@ -3634,8 +3665,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo2(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->printer_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printer_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printer_name)); } ndr->flags = _flags_save_string; } @@ -3643,8 +3675,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo2(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->server_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->server_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->server_name)); } ndr->flags = _flags_save_string; } @@ -3652,8 +3685,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo2(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->user_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->user_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->user_name)); } ndr->flags = _flags_save_string; } @@ -3661,8 +3695,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo2(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->document_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->document_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->document_name)); } ndr->flags = _flags_save_string; } @@ -3670,8 +3705,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo2(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->notify_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->notify_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->notify_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->notify_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->notify_name)); } ndr->flags = _flags_save_string; } @@ -3679,8 +3715,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo2(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->data_type) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_type)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_type)); } ndr->flags = _flags_save_string; } @@ -3688,8 +3725,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo2(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->print_processor) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->print_processor)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor)); } ndr->flags = _flags_save_string; } @@ -3697,8 +3735,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo2(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->parameters) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->parameters)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->parameters)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->parameters)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->parameters)); } ndr->flags = _flags_save_string; } @@ -3706,27 +3745,31 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo2(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); } ndr->flags = _flags_save_string; } if (r->devmode) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->devmode)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode)); NDR_CHECK(ndr_push_spoolss_DeviceMode(ndr, NDR_SCALARS, r->devmode)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode)); } { uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->text_status) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->text_status)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->text_status)); } ndr->flags = _flags_save_string; } if (r->secdesc) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->secdesc)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc)); NDR_CHECK(ndr_push_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->secdesc)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc)); } } return NDR_ERR_SUCCESS; @@ -4344,8 +4387,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo4(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->printer_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printer_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printer_name)); } ndr->flags = _flags_save_string; } @@ -4353,8 +4397,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo4(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->server_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->server_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->server_name)); } ndr->flags = _flags_save_string; } @@ -4362,8 +4407,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo4(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->user_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->user_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->user_name)); } ndr->flags = _flags_save_string; } @@ -4371,8 +4417,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo4(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->document_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->document_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->document_name)); } ndr->flags = _flags_save_string; } @@ -4380,8 +4427,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo4(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->notify_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->notify_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->notify_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->notify_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->notify_name)); } ndr->flags = _flags_save_string; } @@ -4389,8 +4437,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo4(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->data_type) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_type)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_type)); } ndr->flags = _flags_save_string; } @@ -4398,8 +4447,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo4(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->print_processor) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->print_processor)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor)); } ndr->flags = _flags_save_string; } @@ -4407,8 +4457,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo4(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->parameters) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->parameters)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->parameters)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->parameters)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->parameters)); } ndr->flags = _flags_save_string; } @@ -4416,27 +4467,31 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo4(struct ndr_push *ndr, int n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); } ndr->flags = _flags_save_string; } if (r->devmode) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->devmode)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode)); NDR_CHECK(ndr_push_spoolss_DeviceMode(ndr, NDR_SCALARS, r->devmode)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode)); } { uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->text_status) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->text_status)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->text_status)); } ndr->flags = _flags_save_string; } if (r->secdesc) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->secdesc)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc)); NDR_CHECK(ndr_push_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->secdesc)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc)); } } return NDR_ERR_SUCCESS; @@ -10594,8 +10649,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo1(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); } ndr->flags = _flags_save_string; } @@ -10706,8 +10762,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo2(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); } ndr->flags = _flags_save_string; } @@ -10715,8 +10772,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo2(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->architecture) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->architecture)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture)); } ndr->flags = _flags_save_string; } @@ -10724,8 +10782,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo2(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->driver_path) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_path)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path)); } ndr->flags = _flags_save_string; } @@ -10733,8 +10792,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo2(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->data_file) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_file)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file)); } ndr->flags = _flags_save_string; } @@ -10742,8 +10802,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo2(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->config_file) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->config_file)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file)); } ndr->flags = _flags_save_string; } @@ -11032,8 +11093,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo3(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); } ndr->flags = _flags_save_string; } @@ -11041,8 +11103,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo3(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->architecture) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->architecture)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture)); } ndr->flags = _flags_save_string; } @@ -11050,8 +11113,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo3(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->driver_path) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_path)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path)); } ndr->flags = _flags_save_string; } @@ -11059,8 +11123,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo3(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->data_file) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_file)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file)); } ndr->flags = _flags_save_string; } @@ -11068,8 +11133,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo3(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->config_file) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->config_file)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file)); } ndr->flags = _flags_save_string; } @@ -11077,8 +11143,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo3(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->help_file) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->help_file)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file)); } ndr->flags = _flags_save_string; } @@ -11086,8 +11153,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo3(struct ndr_push *ndr, in uint32_t _flags_save_string_array = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->dependent_files) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dependent_files)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files)); NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files)); } ndr->flags = _flags_save_string_array; } @@ -11095,8 +11163,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo3(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->monitor_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name)); } ndr->flags = _flags_save_string; } @@ -11104,8 +11173,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo3(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->default_datatype) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->default_datatype)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype)); } ndr->flags = _flags_save_string; } @@ -11552,8 +11622,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo4(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); } ndr->flags = _flags_save_string; } @@ -11561,8 +11632,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo4(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->architecture) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->architecture)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture)); } ndr->flags = _flags_save_string; } @@ -11570,8 +11642,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo4(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->driver_path) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_path)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path)); } ndr->flags = _flags_save_string; } @@ -11579,8 +11652,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo4(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->data_file) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_file)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file)); } ndr->flags = _flags_save_string; } @@ -11588,8 +11662,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo4(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->config_file) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->config_file)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file)); } ndr->flags = _flags_save_string; } @@ -11597,8 +11672,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo4(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->help_file) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->help_file)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file)); } ndr->flags = _flags_save_string; } @@ -11606,8 +11682,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo4(struct ndr_push *ndr, in uint32_t _flags_save_string_array = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->dependent_files) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dependent_files)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files)); NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files)); } ndr->flags = _flags_save_string_array; } @@ -11615,8 +11692,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo4(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->monitor_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name)); } ndr->flags = _flags_save_string; } @@ -11624,8 +11702,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo4(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->default_datatype) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->default_datatype)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype)); } ndr->flags = _flags_save_string; } @@ -11633,8 +11712,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo4(struct ndr_push *ndr, in uint32_t _flags_save_string_array = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->previous_names) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->previous_names)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names)); NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->previous_names)); } ndr->flags = _flags_save_string_array; } @@ -12092,8 +12172,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo5(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); } ndr->flags = _flags_save_string; } @@ -12101,8 +12182,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo5(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->architecture) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->architecture)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture)); } ndr->flags = _flags_save_string; } @@ -12110,8 +12192,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo5(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->driver_path) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_path)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path)); } ndr->flags = _flags_save_string; } @@ -12119,8 +12202,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo5(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->data_file) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_file)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file)); } ndr->flags = _flags_save_string; } @@ -12128,8 +12212,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo5(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->config_file) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->config_file)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file)); } ndr->flags = _flags_save_string; } @@ -12456,8 +12541,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); } ndr->flags = _flags_save_string; } @@ -12465,8 +12551,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->architecture) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->architecture)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture)); } ndr->flags = _flags_save_string; } @@ -12474,8 +12561,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->driver_path) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_path)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path)); } ndr->flags = _flags_save_string; } @@ -12483,8 +12571,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->data_file) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_file)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file)); } ndr->flags = _flags_save_string; } @@ -12492,8 +12581,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->config_file) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->config_file)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file)); } ndr->flags = _flags_save_string; } @@ -12501,8 +12591,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->help_file) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->help_file)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file)); } ndr->flags = _flags_save_string; } @@ -12510,8 +12601,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, in uint32_t _flags_save_string_array = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->dependent_files) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dependent_files)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files)); NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files)); } ndr->flags = _flags_save_string_array; } @@ -12519,8 +12611,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->monitor_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name)); } ndr->flags = _flags_save_string; } @@ -12528,8 +12621,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->default_datatype) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->default_datatype)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype)); } ndr->flags = _flags_save_string; } @@ -12537,8 +12631,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, in uint32_t _flags_save_string_array = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->previous_names) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->previous_names)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names)); NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->previous_names)); } ndr->flags = _flags_save_string_array; } @@ -12546,8 +12641,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->manufacturer_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->manufacturer_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_name)); } ndr->flags = _flags_save_string; } @@ -12555,8 +12651,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->manufacturer_url) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->manufacturer_url)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_url)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_url)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_url)); } ndr->flags = _flags_save_string; } @@ -12564,8 +12661,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->hardware_id) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->hardware_id)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->hardware_id)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->hardware_id)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->hardware_id)); } ndr->flags = _flags_save_string; } @@ -12573,8 +12671,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->provider) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->provider)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->provider)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->provider)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->provider)); } ndr->flags = _flags_save_string; } @@ -13174,8 +13273,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo7(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); } ndr->flags = _flags_save_string; } @@ -13183,8 +13283,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo7(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->inf_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->inf_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->inf_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->inf_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->inf_name)); } ndr->flags = _flags_save_string; } @@ -13192,8 +13293,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo7(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->install_source_root) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->install_source_root)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->install_source_root)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->install_source_root)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->install_source_root)); } ndr->flags = _flags_save_string; } @@ -13473,8 +13575,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); } ndr->flags = _flags_save_string; } @@ -13482,8 +13585,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->architecture) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->architecture)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture)); } ndr->flags = _flags_save_string; } @@ -13491,8 +13595,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->driver_path) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_path)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path)); } ndr->flags = _flags_save_string; } @@ -13500,8 +13605,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->data_file) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_file)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file)); } ndr->flags = _flags_save_string; } @@ -13509,8 +13615,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->config_file) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->config_file)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file)); } ndr->flags = _flags_save_string; } @@ -13518,8 +13625,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->help_file) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->help_file)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file)); } ndr->flags = _flags_save_string; } @@ -13527,8 +13635,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in uint32_t _flags_save_string_array = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->dependent_files) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dependent_files)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files)); NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files)); } ndr->flags = _flags_save_string_array; } @@ -13536,8 +13645,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->monitor_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name)); } ndr->flags = _flags_save_string; } @@ -13545,8 +13655,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->default_datatype) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->default_datatype)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype)); } ndr->flags = _flags_save_string; } @@ -13554,8 +13665,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in uint32_t _flags_save_string_array = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->previous_names) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->previous_names)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names)); NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->previous_names)); } ndr->flags = _flags_save_string_array; } @@ -13563,8 +13675,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->manufacturer_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->manufacturer_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_name)); } ndr->flags = _flags_save_string; } @@ -13572,8 +13685,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->manufacturer_url) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->manufacturer_url)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_url)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_url)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_url)); } ndr->flags = _flags_save_string; } @@ -13581,8 +13695,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->hardware_id) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->hardware_id)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->hardware_id)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->hardware_id)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->hardware_id)); } ndr->flags = _flags_save_string; } @@ -13590,8 +13705,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->provider) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->provider)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->provider)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->provider)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->provider)); } ndr->flags = _flags_save_string; } @@ -13599,8 +13715,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->print_processor) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->print_processor)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor)); } ndr->flags = _flags_save_string; } @@ -13608,8 +13725,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->vendor_setup) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->vendor_setup)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->vendor_setup)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->vendor_setup)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->vendor_setup)); } ndr->flags = _flags_save_string; } @@ -13617,8 +13735,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in uint32_t _flags_save_string_array = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->color_profiles) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->color_profiles)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->color_profiles)); NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->color_profiles)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->color_profiles)); } ndr->flags = _flags_save_string_array; } @@ -13626,8 +13745,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->inf_path) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->inf_path)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->inf_path)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->inf_path)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->inf_path)); } ndr->flags = _flags_save_string; } @@ -13635,8 +13755,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in uint32_t _flags_save_string_array = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->core_driver_dependencies) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->core_driver_dependencies)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->core_driver_dependencies)); NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->core_driver_dependencies)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->core_driver_dependencies)); } ndr->flags = _flags_save_string_array; } @@ -14448,8 +14569,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverFileInfo(struct ndr_push *ndr, uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->file_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->file_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->file_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->file_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->file_name)); } ndr->flags = _flags_save_string; } @@ -15046,8 +15168,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorInfo1(struct ndr_push uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->print_processor_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->print_processor_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor_name)); } ndr->flags = _flags_save_string; } @@ -16071,8 +16194,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo1(struct ndr_push *ndr, int uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->form_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->form_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->form_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->form_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->form_name)); } ndr->flags = _flags_save_string; } @@ -16213,8 +16337,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo2(struct ndr_push *ndr, int uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->form_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->form_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->form_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->form_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->form_name)); } ndr->flags = _flags_save_string; } @@ -16222,8 +16347,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo2(struct ndr_push *ndr, int uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); if (r->keyword) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->keyword)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->keyword)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->keyword)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->keyword)); } ndr->flags = _flags_save_string; } @@ -16231,8 +16357,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo2(struct ndr_push *ndr, int uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->mui_dll) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->mui_dll)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->mui_dll)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->mui_dll)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->mui_dll)); } ndr->flags = _flags_save_string; } @@ -16240,8 +16367,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo2(struct ndr_push *ndr, int uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->display_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->display_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->display_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->display_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->display_name)); } ndr->flags = _flags_save_string; } @@ -16955,8 +17083,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo1(struct ndr_push *ndr, int uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->port_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->port_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->port_name)); } ndr->flags = _flags_save_string; } @@ -17081,8 +17210,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo2(struct ndr_push *ndr, int uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->port_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->port_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->port_name)); } ndr->flags = _flags_save_string; } @@ -17090,8 +17220,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo2(struct ndr_push *ndr, int uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->monitor_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name)); } ndr->flags = _flags_save_string; } @@ -17099,8 +17230,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo2(struct ndr_push *ndr, int uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->description) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->description)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->description)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->description)); } ndr->flags = _flags_save_string; } @@ -17330,8 +17462,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo3(struct ndr_push *ndr, int uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->status_string) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->status_string)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->status_string)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->status_string)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->status_string)); } ndr->flags = _flags_save_string; } @@ -17422,8 +17555,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfoFF(struct ndr_push *ndr, int uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->port_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->port_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->port_name)); } ndr->flags = _flags_save_string; } @@ -17669,8 +17803,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorInfo1(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->monitor_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name)); } ndr->flags = _flags_save_string; } @@ -17768,8 +17903,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorInfo2(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->monitor_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name)); } ndr->flags = _flags_save_string; } @@ -17777,8 +17913,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorInfo2(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->environment) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->environment)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->environment)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->environment)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->environment)); } ndr->flags = _flags_save_string; } @@ -17786,8 +17923,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorInfo2(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->dll_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dll_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dll_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dll_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dll_name)); } ndr->flags = _flags_save_string; } @@ -18059,8 +18197,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcDataTypesInfo1(struct ndr_p uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->name_array) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->name_array)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->name_array)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name_array)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->name_array)); } ndr->flags = _flags_save_string; } @@ -19701,13 +19840,14 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterEnumValues(struct ndr_push *n uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->value_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->value_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->value_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value_name)); } ndr->flags = _flags_save_string; } if (r->data) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data)); { struct ndr_push *_ndr_data; NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_data, 0, r->data_length)); @@ -19715,6 +19855,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterEnumValues(struct ndr_push *n NDR_CHECK(ndr_push_spoolss_PrinterData(_ndr_data, NDR_SCALARS|NDR_BUFFERS, r->data)); NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_data, 0, r->data_length)); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data)); } } ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset); diff --git a/librpc/gen_ndr/ndr_svcctl.c b/librpc/gen_ndr/ndr_svcctl.c index f4d5a70b40..a51b0eb3f2 100644 --- a/librpc/gen_ndr/ndr_svcctl.c +++ b/librpc/gen_ndr/ndr_svcctl.c @@ -244,8 +244,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_ENUM_SERVICE_STATUSW(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->service_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->service_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->service_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->service_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->service_name)); } ndr->flags = _flags_save_string; } @@ -253,8 +254,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_ENUM_SERVICE_STATUSW(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->display_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->display_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->display_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->display_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->display_name)); } ndr->flags = _flags_save_string; } @@ -387,8 +389,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_ENUM_SERVICE_STATUSA(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); if (r->service_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->service_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->service_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->service_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->service_name)); } ndr->flags = _flags_save_string; } @@ -396,8 +399,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_ENUM_SERVICE_STATUSA(struct ndr_push *ndr, i uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); if (r->display_name) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->display_name)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->display_name)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->display_name)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->display_name)); } ndr->flags = _flags_save_string; } @@ -1035,8 +1039,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_SERVICE_DESCRIPTION(struct ndr_push *ndr, in uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->description) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->description)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->description)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->description)); } ndr->flags = _flags_save_string; } @@ -1194,8 +1199,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_SERVICE_FAILURE_ACTIONS(struct ndr_push *ndr uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->rebootmsg) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->rebootmsg)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->rebootmsg)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->rebootmsg)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->rebootmsg)); } ndr->flags = _flags_save_string; } @@ -1203,17 +1209,19 @@ _PUBLIC_ enum ndr_err_code ndr_push_SERVICE_FAILURE_ACTIONS(struct ndr_push *ndr uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->command) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->command)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->command)); NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->command)); + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->command)); } ndr->flags = _flags_save_string; } if (r->actions) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->actions)); + NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->actions)); NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_actions)); for (cntr_actions_1 = 0; cntr_actions_1 < r->num_actions; cntr_actions_1++) { NDR_CHECK(ndr_push_SC_ACTION(ndr, NDR_SCALARS, &r->actions[cntr_actions_1])); } + NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->actions)); } } return NDR_ERR_SUCCESS; |