const struct spoolss_DriverInfo8 *r);
bool printer_driver_files_in_use(TALLOC_CTX *mem_ctx,
struct auth_serversupplied_info *server_info,
+ struct messaging_context *msg_ctx,
struct spoolss_DriverInfo8 *r);
bool delete_driver_files(struct auth_serversupplied_info *server_info,
const struct spoolss_DriverInfo8 *r);
bool printer_driver_files_in_use(TALLOC_CTX *mem_ctx,
struct auth_serversupplied_info *server_info,
+ struct messaging_context *msg_ctx,
struct spoolss_DriverInfo8 *info)
{
int i;
/* get the list of drivers */
- result = winreg_get_driver_list(mem_ctx, server_info,
- smbd_messaging_context(),
+ result = winreg_get_driver_list(mem_ctx, server_info, msg_ctx,
info->architecture, version,
&num_drivers, &drivers);
if (!W_ERROR_IS_OK(result)) {
driver = NULL;
- result = winreg_get_driver(mem_ctx, server_info,
- smbd_messaging_context(),
+ result = winreg_get_driver(mem_ctx, server_info, msg_ctx,
info->architecture, drivers[i],
version, &driver);
if (!W_ERROR_IS_OK(result)) {
if (delete_files &&
(r->in.delete_flags & DPD_DELETE_ALL_FILES) &&
- printer_driver_files_in_use(info, p->server_info, info)) {
+ printer_driver_files_in_use(info, p->server_info, p->msg_ctx,
+ info)) {
/* no idea of the correct error here */
status = WERR_ACCESS_DENIED;
goto done;
if (delete_files &&
(r->in.delete_flags & DPD_DELETE_ALL_FILES) &&
printer_driver_files_in_use(info, p->server_info,
+ p->msg_ctx,
info_win2k)) {
/* no idea of the correct error here */
talloc_free(info_win2k);