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 + -
显示快捷键?