TALLOC_CTX *mem_ctx,
struct policy_handle *handle /* [in] [ref] */,
uint32_t enum_index /* [in] */,
- const char *value_name /* [out] [ref,charset(UTF16),size_is(value_offered/2)] */,
+ const char *value_name /* [out] [charset(UTF16),size_is(value_offered/2)] */,
uint32_t value_offered /* [in] */,
uint32_t *value_needed /* [out] [ref] */,
uint32_t *printerdata_type /* [out] [ref] */,
TALLOC_CTX *mem_ctx,
struct policy_handle *handle /* [in] [ref] */,
uint32_t enum_index /* [in] */,
- const char *value_name /* [out] [ref,charset(UTF16),size_is(value_offered/2)] */,
+ const char *value_name /* [out] [charset(UTF16),size_is(value_offered/2)] */,
uint32_t value_offered /* [in] */,
uint32_t *value_needed /* [out] [ref] */,
uint32_t *printerdata_type /* [out] [ref] */,
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.data_offered));
}
if (flags & NDR_OUT) {
- if (r->out.value_name == NULL) {
- return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
- }
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.value_offered / 2));
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->out.value_name, r->in.value_offered / 2, sizeof(uint16_t), CH_UTF16));
if (r->out.value_needed == NULL) {
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.enum_index));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.value_offered));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.data_offered));
- NDR_PULL_ALLOC_N(ndr, r->out.value_name, r->in.value_offered / 2);
- memset(r->out.value_name, 0, (r->in.value_offered / 2) * sizeof(*r->out.value_name));
NDR_PULL_ALLOC(ndr, r->out.value_needed);
ZERO_STRUCTP(r->out.value_needed);
NDR_PULL_ALLOC(ndr, r->out.printerdata_type);
if (flags & NDR_OUT) {
ndr_print_struct(ndr, "out", "spoolss_EnumPrinterData");
ndr->depth++;
- ndr_print_ptr(ndr, "value_name", r->out.value_name);
- ndr->depth++;
ndr_print_string(ndr, "value_name", r->out.value_name);
- ndr->depth--;
ndr_print_ptr(ndr, "value_needed", r->out.value_needed);
ndr->depth++;
ndr_print_uint32(ndr, "value_needed", *r->out.value_needed);
} in;
struct {
- const char *value_name;/* [ref,charset(UTF16),size_is(value_offered/2)] */
+ const char *value_name;/* [charset(UTF16),size_is(value_offered/2)] */
uint32_t *value_needed;/* [ref] */
uint32_t *printerdata_type;/* [ref] */
DATA_BLOB *buffer;/* [ref] */
WERROR spoolss_EnumPrinterData(
[in,ref] policy_handle *handle,
[in] uint32 enum_index,
- [out,ref,size_is(value_offered/2),charset(UTF16)] uint16 *value_name,
+ [out,size_is(value_offered/2),charset(UTF16)] uint16 value_name[],
[in] uint32 value_offered,
[out,ref] uint32 *value_needed,
[out,ref] uint32 *printerdata_type,