WERROR result;
NTSTATUS status;
const char *short_architecture;
- const char **guid_strs;
- DATA_BLOB blob;
- bool ok;
int i;
if (r->in.core_printer_driver_count < 1) {
return HRESULT_FROM_WERROR(WERR_INVALID_ENVIRONMENT);
}
- blob = data_blob_const((uint8_t *)r->in.core_driver_dependencies,
- r->in.core_driver_size*2);
-
- ok = pull_reg_multi_sz(p->mem_ctx, &blob, &guid_strs);
- if (!ok) {
- return HRES_E_INVALIDARG;
- }
-
- for (i = 0; guid_strs[i] != NULL; i++) {
+ for (i = 0; r->in.core_driver_dependencies.string_array[i] != NULL; i++) {
}
if (i != r->in.core_printer_driver_count) {
struct GUID guid;
struct spoolss_CorePrinterDriver *c;
- status = GUID_from_string(guid_strs[i], &guid);
+ status = GUID_from_string(r->in.core_driver_dependencies.string_array[i], &guid);
if (!NT_STATUS_IS_OK(status)) {
return HRES_E_INVALIDARG;
}