Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.net核心api无法添加打印机_C#_Asp.net_Powershell_Rest_Asp.net Core - Fatal编程技术网

C# ASP.net核心api无法添加打印机

C# ASP.net核心api无法添加打印机,c#,asp.net,powershell,rest,asp.net-core,C#,Asp.net,Powershell,Rest,Asp.net Core,我制作了一个在特定打印机上打印的程序,但我有多台打印机要设置,所以我想我会制作他们打印的站点,为我做。我试着通过网络来做这件事。powershell等,它可以工作,只是不在我的.net core api中,而是在我的.net core控制台中工作。我已授予IUSR管理打印机、端口等的权限。它可以创建打印机端口,但不能创建打印机。当我使用powershell时,我发现“添加打印机”并不存在,我自己尝试将其放入powershell中,它工作得非常完美。。这是我的密码: class P

我制作了一个在特定打印机上打印的程序,但我有多台打印机要设置,所以我想我会制作他们打印的站点,为我做。我试着通过网络来做这件事。powershell等,它可以工作,只是不在我的.net core api中,而是在我的.net core控制台中工作。我已授予IUSR管理打印机、端口等的权限。它可以创建打印机端口,但不能创建打印机。当我使用powershell时,我发现“添加打印机”并不存在,我自己尝试将其放入powershell中,它工作得非常完美。。这是我的密码:

        class Program
{
    static void Main(string[] args)
    {

        IntPtr mystrptr = new IntPtr(0);
        bool mysend;
        IntPtr mysend2;
        PRINTER_INFO_2 pi = new PRINTER_INFO_2();
        string printer = "05_Vognmodtagelse_Label";

        pi.pPrinterName = printer;
        pi.pPortName = printer;
        pi.pDriverName = "Brother PT-P950NW";
        pi.pDevMode = mystrptr;
        pi.pPrintProcessor = "WinPrint";
        pi.pDatatype = "RAW";
        pi.pSecurityDescriptor = mystrptr;
        mysend2 = AddPrinter(null, 2, ref pi);

    }

    [DllImport("winspool.drv", CharSet = CharSet.Auto)]
    static extern IntPtr AddPrinter(string pName, uint Level, [In] ref PRINTER_INFO_2 pPrinter);

    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
    struct PRINTER_INFO_2
    {
        public string pServerName,
                      pPrinterName,
                      pShareName,
                      pPortName,
                      pDriverName,
                      pComment,
                      pLocation;
        public IntPtr pDevMode;
        public string pSepFile,
                      pPrintProcessor,
                      pDatatype,
                      pParameters;
        public IntPtr pSecurityDescriptor;
        public uint Attributes,
                      Priority,
                      DefaultPriority,
                      StartTime,
                      UntilTime,
                      Status,
                      cJobs,
                      AveragePPM;
    }
}

注意:这是控制台应用程序中的代码。

打印机是连接到服务器还是连接到客户端?“它可以创建打印机端口,但不能创建打印机”的确切含义是什么?打印机连接到服务器。在此之前,它在powershell中运行一个命令来创建tcp端口,它工作得很好。我想问,这有什么不起作用的。
AddPrinter()
返回什么,最新的错误是什么?它返回代码0,因此应该成功。打印机是连接到服务器还是连接到客户端?“它可以创建打印机端口,但不能创建打印机”的确切含义是什么?打印机连接到服务器。在此之前,它在powershell中运行一个命令来创建tcp端口,它工作得很好。我想问,这有什么不起作用的。
AddPrinter()
返回什么,最新的错误是什么?它返回代码0,因此应该成功。