dcesrv_spoolss.c
来自「samba最新软件」· C语言 代码 · 共 1,561 行 · 第 1/3 页
C
1,561 行
struct spoolss_EndDocPrinter *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_AddJob */static WERROR dcesrv_spoolss_AddJob(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_AddJob *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_ScheduleJob */static WERROR dcesrv_spoolss_ScheduleJob(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_ScheduleJob *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_GetPrinterData */static WERROR dcesrv_spoolss_GetPrinterData(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_GetPrinterData *r){ struct ntptr_GenericHandle *handle; struct dcesrv_handle *h; WERROR status; DCESRV_PULL_HANDLE_WERR(h, r->in.handle, DCESRV_HANDLE_ANY); handle = talloc_get_type(h->data, struct ntptr_GenericHandle); if (!handle) return WERR_BADFID; switch (handle->type) { case NTPTR_HANDLE_SERVER: status = ntptr_GetPrintServerData(handle, mem_ctx, r); break; default: status = WERR_FOOBAR; break; } W_ERROR_NOT_OK_RETURN(status); r->out.needed = ndr_size_spoolss_PrinterData(&r->out.data, r->out.type, 0); r->out.type = SPOOLSS_BUFFER_OK(r->out.type, SPOOLSS_PRINTER_DATA_TYPE_NULL); r->out.data = SPOOLSS_BUFFER_OK(r->out.data, r->out.data); return SPOOLSS_BUFFER_OK(WERR_OK, WERR_MORE_DATA);}/* spoolss_SetPrinterData */static WERROR dcesrv_spoolss_SetPrinterData(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_SetPrinterData *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_WaitForPrinterChange */static WERROR dcesrv_spoolss_WaitForPrinterChange(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_WaitForPrinterChange *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_ClosePrinter */static WERROR dcesrv_spoolss_ClosePrinter(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_ClosePrinter *r){ struct dcesrv_handle *h; *r->out.handle = *r->in.handle; DCESRV_PULL_HANDLE_WERR(h, r->in.handle, DCESRV_HANDLE_ANY); talloc_free(h); ZERO_STRUCTP(r->out.handle); return WERR_OK;}/* spoolss_AddForm */static WERROR dcesrv_spoolss_AddForm(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_AddForm *r){ struct ntptr_GenericHandle *handle; struct dcesrv_handle *h; WERROR status; DCESRV_PULL_HANDLE_WERR(h, r->in.handle, DCESRV_HANDLE_ANY); handle = talloc_get_type(h->data, struct ntptr_GenericHandle); if (!handle) return WERR_BADFID; switch (handle->type) { case NTPTR_HANDLE_SERVER: status = ntptr_AddPrintServerForm(handle, mem_ctx, r); W_ERROR_NOT_OK_RETURN(status); break; case NTPTR_HANDLE_PRINTER: status = ntptr_AddPrinterForm(handle, mem_ctx, r); W_ERROR_NOT_OK_RETURN(status); break; default: return WERR_FOOBAR; } return WERR_OK;}/* spoolss_DeleteForm */static WERROR dcesrv_spoolss_DeleteForm(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_DeleteForm *r){ struct ntptr_GenericHandle *handle; struct dcesrv_handle *h; WERROR status; DCESRV_PULL_HANDLE_WERR(h, r->in.handle, DCESRV_HANDLE_ANY); handle = talloc_get_type(h->data, struct ntptr_GenericHandle); if (!handle) return WERR_BADFID; switch (handle->type) { case NTPTR_HANDLE_SERVER: status = ntptr_DeletePrintServerForm(handle, mem_ctx, r); W_ERROR_NOT_OK_RETURN(status); break; case NTPTR_HANDLE_PRINTER: status = ntptr_DeletePrinterForm(handle, mem_ctx, r); W_ERROR_NOT_OK_RETURN(status); break; default: return WERR_FOOBAR; } return WERR_OK;}/* spoolss_GetForm */static WERROR dcesrv_spoolss_GetForm(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_GetForm *r){ struct ntptr_GenericHandle *handle; struct dcesrv_handle *h; WERROR status; DCESRV_PULL_HANDLE_WERR(h, r->in.handle, DCESRV_HANDLE_ANY); handle = talloc_get_type(h->data, struct ntptr_GenericHandle); if (!handle) return WERR_BADFID; switch (handle->type) { case NTPTR_HANDLE_SERVER: /* * stupid, but w2k3 returns WERR_BADFID here? */ return WERR_BADFID; case NTPTR_HANDLE_PRINTER: status = ntptr_GetPrinterForm(handle, mem_ctx, r); W_ERROR_NOT_OK_RETURN(status); break; default: return WERR_FOOBAR; } r->out.needed = SPOOLSS_BUFFER_UNION(spoolss_FormInfo, r->out.info, r->in.level); r->out.info = SPOOLSS_BUFFER_OK(r->out.info, NULL); return SPOOLSS_BUFFER_OK(WERR_OK, WERR_INSUFFICIENT_BUFFER);}/* spoolss_SetForm */static WERROR dcesrv_spoolss_SetForm(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_SetForm *r){ struct ntptr_GenericHandle *handle; struct dcesrv_handle *h; WERROR status; DCESRV_PULL_HANDLE_WERR(h, r->in.handle, DCESRV_HANDLE_ANY); handle = talloc_get_type(h->data, struct ntptr_GenericHandle); if (!handle) return WERR_BADFID; switch (handle->type) { case NTPTR_HANDLE_SERVER: status = ntptr_SetPrintServerForm(handle, mem_ctx, r); W_ERROR_NOT_OK_RETURN(status); break; case NTPTR_HANDLE_PRINTER: status = ntptr_SetPrinterForm(handle, mem_ctx, r); W_ERROR_NOT_OK_RETURN(status); break; default: return WERR_FOOBAR; } return WERR_OK;}/* spoolss_EnumForms */static WERROR dcesrv_spoolss_EnumForms(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_EnumForms *r){ struct ntptr_GenericHandle *handle; struct dcesrv_handle *h; WERROR status; DCESRV_PULL_HANDLE_WERR(h, r->in.handle, DCESRV_HANDLE_ANY); handle = talloc_get_type(h->data, struct ntptr_GenericHandle); if (!handle) return WERR_BADFID; switch (handle->type) { case NTPTR_HANDLE_SERVER: status = ntptr_EnumPrintServerForms(handle, mem_ctx, r); W_ERROR_NOT_OK_RETURN(status); break; case NTPTR_HANDLE_PRINTER: status = ntptr_EnumPrinterForms(handle, mem_ctx, r); W_ERROR_NOT_OK_RETURN(status); break; default: return WERR_FOOBAR; } r->out.needed = SPOOLSS_BUFFER_UNION_ARRAY(spoolss_EnumForms, r->out.info, r->in.level, r->out.count); r->out.info = SPOOLSS_BUFFER_OK(r->out.info, NULL); r->out.count = SPOOLSS_BUFFER_OK(r->out.count, 0); return SPOOLSS_BUFFER_OK(WERR_OK, WERR_INSUFFICIENT_BUFFER);}/* spoolss_EnumPorts */static WERROR dcesrv_spoolss_EnumPorts(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_EnumPorts *r){ struct ntptr_context *ntptr = talloc_get_type(dce_call->context->private, struct ntptr_context); WERROR status; status = dcesrv_spoolss_check_server_name(dce_call, mem_ctx, r->in.servername); W_ERROR_NOT_OK_RETURN(status); status = ntptr_EnumPorts(ntptr, mem_ctx, r); W_ERROR_NOT_OK_RETURN(status); r->out.needed = SPOOLSS_BUFFER_UNION_ARRAY(spoolss_EnumPorts, r->out.info, r->in.level, r->out.count); r->out.info = SPOOLSS_BUFFER_OK(r->out.info, NULL); r->out.count = SPOOLSS_BUFFER_OK(r->out.count, 0); return SPOOLSS_BUFFER_OK(WERR_OK, WERR_INSUFFICIENT_BUFFER);}/* spoolss_EnumMonitors */static WERROR dcesrv_spoolss_EnumMonitors(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_EnumMonitors *r){ struct ntptr_context *ntptr = talloc_get_type(dce_call->context->private, struct ntptr_context); WERROR status; status = dcesrv_spoolss_check_server_name(dce_call, mem_ctx, r->in.servername); W_ERROR_NOT_OK_RETURN(status); status = ntptr_EnumMonitors(ntptr, mem_ctx, r); W_ERROR_NOT_OK_RETURN(status); r->out.needed = SPOOLSS_BUFFER_UNION_ARRAY(spoolss_EnumMonitors, r->out.info, r->in.level, r->out.count); r->out.info = SPOOLSS_BUFFER_OK(r->out.info, NULL); r->out.count = SPOOLSS_BUFFER_OK(r->out.count, 0); return SPOOLSS_BUFFER_OK(WERR_OK, WERR_INSUFFICIENT_BUFFER);}/* spoolss_AddPort */static WERROR dcesrv_spoolss_AddPort(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_AddPort *r){ return WERR_NOT_SUPPORTED;}/* spoolss_ConfigurePort */static WERROR dcesrv_spoolss_ConfigurePort(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_ConfigurePort *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_DeletePort */static WERROR dcesrv_spoolss_DeletePort(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_DeletePort *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_CreatePrinterIC */static WERROR dcesrv_spoolss_CreatePrinterIC(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_CreatePrinterIC *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_PlayGDIScriptOnPrinterIC */static WERROR dcesrv_spoolss_PlayGDIScriptOnPrinterIC(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_PlayGDIScriptOnPrinterIC *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_DeletePrinterIC */static WERROR dcesrv_spoolss_DeletePrinterIC(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_DeletePrinterIC *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_AddPrinterConnection */static WERROR dcesrv_spoolss_AddPrinterConnection(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_AddPrinterConnection *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_DeletePrinterConnection */static WERROR dcesrv_spoolss_DeletePrinterConnection(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_DeletePrinterConnection *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_PrinterMessageBox */static WERROR dcesrv_spoolss_PrinterMessageBox(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_PrinterMessageBox *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_AddMonitor */static WERROR dcesrv_spoolss_AddMonitor(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_AddMonitor *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_DeleteMonitor */static WERROR dcesrv_spoolss_DeleteMonitor(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_DeleteMonitor *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_DeletePrintProcessor */static WERROR dcesrv_spoolss_DeletePrintProcessor(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_DeletePrintProcessor *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_AddPrintProvidor */static WERROR dcesrv_spoolss_AddPrintProvidor(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_AddPrintProvidor *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_DeletePrintProvidor */static WERROR dcesrv_spoolss_DeletePrintProvidor(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_DeletePrintProvidor *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_EnumPrintProcDataTypes */static WERROR dcesrv_spoolss_EnumPrintProcDataTypes(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_EnumPrintProcDataTypes *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_ResetPrinter */static WERROR dcesrv_spoolss_ResetPrinter(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_ResetPrinter *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_GetPrinterDriver2 */static WERROR dcesrv_spoolss_GetPrinterDriver2(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_GetPrinterDriver2 *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_FindFirstPrinterChangeNotification */static WERROR dcesrv_spoolss_FindFirstPrinterChangeNotification(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_FindFirstPrinterChangeNotification *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_FindNextPrinterChangeNotification */static WERROR dcesrv_spoolss_FindNextPrinterChangeNotification(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_FindNextPrinterChangeNotification *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_FindClosePrinterNotify */static WERROR dcesrv_spoolss_FindClosePrinterNotify(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_FindClosePrinterNotify *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_RouterFindFirstPrinterChangeNotificationOld */static WERROR dcesrv_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r){ DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);}/* spoolss_ReplyOpenPrinter
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?