vitual channel program

本文详细介绍了RDP5.1中虚拟通道技术的实现方式,包括服务器端和客户端组件的工作原理,以及如何在注册表中进行配置。此外还介绍了远程控制持久虚拟通道的概念及如何禁用终端服务的某些特性。
字体变小 字体变大
一.Virtual Channel的实现

RDP5.1支持虚拟通道(virtual channel,下同)技术。虚拟通道是自定义的一套与RDP协议相关联的独立的数据格式。这项技术使我们不必去改变RDP协议,而增加新的功能。

下面几种情况下最适合使用虚拟通道技术。当然,其他的一些情况也可能会使用虚拟通道,我们并不对虚拟通道机制的使用做特别的限制。
1.普通的核心设备,比如串口或打印机
2.重定向文件系统
3.用户程序,比如远程的剪切和复制
4.音频设备

一个虚拟通道程序需要一个客户端组件和一个服务器端组件构成:
1.服务器端组件运行在终端服务服务器上,它可以是一个用户程序或是一个核心设备。
2.客户端组件是一个动态连接库,当终端服务的客户端程序运行时必须把它加载到内存中。

下面几个段落描述了这些组件:
Virtual Channel Server Application
Virtual Channel Client
Virtual Channel Client Registration
Remote-Control Persistent Virtual Channels

备注:此文章的原作路径为
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcerdp/htm/ceoriImplementingVirtualChannels.asp


二.Virtual Channel Server Application
使用虚拟通道技术程序的组件必须是一个在终端服务的服务器端运行的一个客户会话中的程序。你必须提供运行这个程序的方法。以下的几个方法可以实现程序的运行,比如做一个登陆脚本,或一个在开始文件夹中的计划或脚本。当然也可以由用户自己激活程序。

你必须把虚拟通道的服务器端程序保存在注册表中,方法是在注册表下面的路径中加入一个子键。HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/TerminalServer/Addins

服务器端程序可以通过调用WTSVirtualChannelOpen来得到一个虚拟通道的句柄,在程序中可以通过这个句柄使用下面的一些方法。
WTSVirtualChannelClose
关闭虚拟通道
WTSVirtualChannelPurgeInput
清除在一个虚拟通道中,客户端发来的所有的输入数据的请求
WTSVirtualChannelPurgeOutput
清除在一个虚拟通道中,客户端发来的所有的输出数据的请求
WTSVirtualChannelQuery
返回一个指定虚拟通道的信息
WTSVirtualChannelRead
从一个虚拟通道的末端服务器中读数据
WTSVirtualChannelWrite
从一个虚拟通道的末端服务器中写数据

Virtual Channel Client
虚拟通道程序的客户端组件是一个动态连接库,这个dll在客户计算机的终端服务初始化时被加载。这个dll必须被注册到客户计算机中。更多的信息,请看下一篇文章Virtual Channel Client Registration。

客户端dll导出了一个VirtualChannelEntry函数,这个函数在终端服务初始化时被调用。这个VirtualChannelEntry入口指向一个CHANNEL_ENTRY_POINTS结构的指针。这个指针将被下面几个函数使用到,这些函数时客户dll用来访问虚拟通道的函数。

三.VirtualChannelInit
注册使用的虚拟通道的名称,并提供一个VirtualChannelInitEvent回调函数,通过这个回调,终端服务提示客户端一些事件和客户连接
VirtualChannelOpen
打开一个指定虚拟通道末端的客户,并提供VirtualChannelOpenEvent回调函数,通过这个回调终端服务提示客户端一些事件和客户连接
VirtualChannelWrite
在虚拟通道中写数据。终端服务把这些数据发送到虚拟通道的服务器端。.服务器调用WTSVirtualChannelRead函数来读取这些数据。
VirtualChannelClose
关闭一个虚拟通道

VirtualChannelEntry函数必须调用VirtualChannelInit函数来初始化一个虚拟通道的访问。当调用VirtualChannelInit时,必须通过VirtualChannelInitEvent回调函数的一个指针。终端服务在初始化完成是调用这个函数,并在与一个终端服务器建立连接后再次调用这个函数。

在连接建立之后,你可以调用VirtualChannelOpen函数来打开由VirtualChannelInit函数注册的虚拟通道。VirtualChannelOpen函数将为你的VirtualChannelOpenEvent回调函数指定一个指针。

当VirtualChannelOpen函数调用返回后,你可以调用VirtualChannelWrite函数来写虚拟通道了。写的过程是异步的,因此你不必释放或重新分配缓冲区,直到VirtualChannelOpenEvent函数说明这个写的过程已经完成。

当你调用VirtualChannelWrite函数时,你可以通过一些用户数据来参看写过程的状态,当调用VirtualChannelOpenEvent时,终端服务将调用通过返回的用户数据通知你写的过程已经完成。在虚拟通道末端的服务器上,服务器插件调用WTSVirtualChannelRead函数来读取这些数据。

当服务器端组件把这些数据写入服务器的时候,终端服务也可以调用VirtualChannelOpenEvent函数得到相应的信息。服务器端组件是通过调用WTSVirtualChannelWrite函数把数据写入到服务器的。

客户端和服务器端组件可以在虚拟通道中写入任意大小的数据。然而,在发送数据之前,终端服务将把这些数据分割成CHANNEL_CHUNK_LENGTH字节大小的片断。终端服务为每一个数据片断调用VirtualChannelOpenEvent函数,而不是把这些数据重新建立成原是大小的包。每一次调用VirtualChannelOpenEvent显示数据片段的大小,并显示出是发送数据的开始、中间或是末尾。

VirtualChannelClose函数用来关闭一个通道。然而,你并不必须显示的使用这个函数。因为当一个哭户从服务器上断开连接时,终端服务会自动的关闭所有的通道。


四.Virtual Channel Client Registration
你必须在注册表中注册客户端dll的名称。方法是在下面路径之一加入子键.
HKEY_CURRENT_USER/Software/Microsoft/Terminal Server Client/Default/Addins
HKEY_CURRENT_USER/Software/Microsoft/Terminal Server Client/connection/Addins

加入到Default/Addins键下会应用于所有的连接。加入到connection/Addins键下仅仅应用于指定的连接。裂解可以使用连接管理器创建和管理。

子键可以是任意的名称,它必须包含一个REG_SZ或者REG_EXPAND_SZ型的值。并且也可以再加一个REG_DWORD值。REG_SZ或者REG_EXPAND_SZ值的原型如下。
Name = DLLname

如果使用一个REG_EXPAND_SZ值,那么它包括一个未扩展的环境变量,这个变量将在运行时扩展。DLLname的值是一个全路径。如果DLLname没有包括一个全路径,那么将应用标准的Dll搜索路径。

REG_DWORD值的原型如下。
RemoteControlPersistent = flag

flag的值是1或0,0是默认值。如果是1,那么这个插件将不会得到远程控制开始与结束的信息。如果是0,这个插件将不会得到远程控制开始与结束的信息。

五.Remote-Control Persistent Virtual Channels
在Windows CE .NET和Windows XP中,一个DLL可以指定一个或多个虚拟通道作为永久远程控制。这样的通道在客户的一个连接会话连接或断开时都不会被关闭。数据将继续通过这个通道被发送和接收。没有被指定为永久远程控制的虚拟通道将被关闭。永久远程控制的虚拟通道通过调用VirtualChannelInit函数指定。参阅VirtualChannelInit函数会得到更多的信息。

六.Disabling Terminal Services Features
为了增强安全性,你可以选择屏蔽终端服务的一些功能,比如当使用Remote Desktop ActiveX Control连接时的剪切板的重定向和指针的重定向。

怎么屏蔽终端服务的功能
1.在客户计算机的注册表中加入下面的键。
HKEY_LOCAL_MACHINE/Software/Microsoft/Terminal Server/DisableClipRedirection
HKEY_LOCAL_MACHINE/Software/Microsoft/Terminal Server/DisablePrinterRedirection
2.把这两个键的值设置为0。
# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<< Traceback (most recent call last): File "conda\exception_handler.py", line 18, in __call__ File "conda\cli\main.py", line 87, in main_sourced File "conda\activate.py", line 238, in execute File "conda\activate.py", line 220, in hook File "pathlib.py", line 1027, in read_text File "pathlib.py", line 1013, in open FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\lx\\AppData\\Local\\Temp\\_MEI155602\\conda\\shell\\condabin\\conda-hook.ps1' `$ D:\Program\Anaconda3\_conda.exe shell.powershell hook` environment variables: CIO_TEST=<not set> CONDARC=C:\Users\lx\AppData\Local\Temp\_MEI155602\.condarc CONDA_DEFAULT_ENV=base CONDA_EXE=D:\Program\Anaconda3\Scripts\conda.exe CONDA_PREFIX=D:\Program\Anaconda3 CONDA_PROMPT_MODIFIER=(base) CONDA_PYTHON_EXE=D:\Program\Anaconda3\python.exe CONDA_ROOT=C:\Users\lx\AppData\Local\Temp\_MEI155602 CONDA_SHLVL=1 CURL_CA_BUNDLE=<not set> HOMEPATH=\Users\lx LD_PRELOAD=<not set> PATH=D:\Program\Anaconda3;D:\Program\Anaconda3\Library\mingw- w64\bin;D:\Program\Anaconda3\Library\usr\bin;D:\Program\Anaconda3\Libr ary\bin;D:\Program\Anaconda3\Scripts;D:\Program\Anaconda3\bin;D:\Progr am\Anaconda3\condabin;D:\Abaqus2024\commands;C:\Program Files\Microsoft MPI\Bin;C:\Program Files\Common Files\Oracle\Java\java path;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Window s\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Progr am Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA App\NvDLISR;D:\Program Files\Bandizip;D:\Program\An aconda3;D:\Program\Anaconda3\Scripts;D:\Program\Anaconda3\Library\bin; C:\Users\lx\AppData\Local\Microsoft\WindowsApps;D:\Program\PyCharm 2025.2.4\bin PSMODULEPATH=C:\Users\lx\Documents\WindowsPowerShell\Modules;C:\Program Files\Windo wsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Module s REQUESTS_CA_BUNDLE=<not set> SSL_CERT_FILE=D:\Program\Anaconda3\Library\ssl\cacert.pem active environment : D:\Program\Anaconda3 active env location : D:\Program\Anaconda3 shell level : 1 user config file : C:\Users\lx\.condarc populated config files : C:\Users\lx\AppData\Local\Temp\_MEI155602\.condarc C:\Users\lx\.condarc D:\Program\Anaconda3\.condarc conda version : 25.1.1 conda-build version : not installed python version : 3.12.9.final.0 solver : libmamba (default) virtual packages : __archspec=1=x86_64_v4 __conda=25.1.1=0 __cuda=12.8=0 __win=10.0.26100=0 base environment : C:\Users\lx\AppData\Local\Temp\_MEI155602 (read only) conda av data dir : C:\Users\lx\AppData\Local\Temp\_MEI155602\etc\conda conda av metadata url : None channel URLs : https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/noarch https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/win-64 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/noarch https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2/win-64 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2/noarch package cache : C:\Users\lx\AppData\Local\Temp\_MEI155602\pkgs C:\Users\lx\.conda\pkgs C:\Users\lx\AppData\Local\conda\conda\pkgs envs directories : D:\Program\Anaconda3\envs C:\Users\lx\.conda\envs C:\Users\lx\AppData\Local\Temp\_MEI155602\envs C:\Users\lx\AppData\Local\conda\conda\envs platform : win-64 user-agent : conda/25.1.1 requests/2.32.3 CPython/3.12.9 Windows/11 Windows/10.0.26100 solver/libmamba conda-libmamba-solver/25.3.0 libmambapy/2.0.5 administrator : False netrc file : None
11-09
Downloading and Extracting Packages: Preparing transaction: done Verifying transaction: done Executing transaction: done Exception in thread Thread-5 (_readerthread): Traceback (most recent call last): File "D:\AAAdachuangapps\Lib\threading.py", line 1075, in _bootstrap_inner self.run() File "D:\AAAdachuangapps\Lib\threading.py", line 1012, in run self._target(*self._args, **self._kwargs) File "D:\AAAdachuangapps\Lib\subprocess.py", line 1599, in _readerthread buffer.append(fh.read()) ^^^^^^^^^ UnicodeDecodeError: 'gbk' codec can't decode byte 0xa8 in position 1684: illegal multibyte sequence Unexpected cygpath error, fallback to manual path conversion AttributeError: 'NoneType' object has no attribute 'strip' # >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<< Traceback (most recent call last): File "D:\AAAdachuangapps\Lib\site-packages\conda\exception_handler.py", line 18, in __call__ return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "D:\AAAdachuangapps\Lib\site-packages\conda\cli\main.py", line 87, in main_sourced print(activator.execute(), end="") UnicodeEncodeError: 'gbk' codec can't encode character '\xc9' in position 2241: illegal multibyte sequence `$ D:\AAAdachuangapps\Scripts\conda-script.py shell.posix reactivate` environment variables: ACLOCAL_PATH=C:\Program Files\Git\mingw64\share\aclocal;C:\Program Files\Git\usr\share\aclocal BUNDLED_DEBUGPY_PATH=c:\Users\admin\.vscode\extensions\ms- python.debugpy-2025.16.0-win32-x64\bundled\libs\debugpy CIO_TEST=<not set> CONDA_ALLOW_SOFTLINKS=false CONDA_DEFAULT_ENV=dc CONDA_EXE=D:/AAAdachuangapps/Scripts/conda.exe CONDA_PREFIX=D:\AAAdachuangapps\envs\dc CONDA_PROMPT_MODIFIER=(dc) CONDA_PYTHON_EXE=D:/AAAdachuangapps/python.exe CONDA_ROOT=D:\AAAdachuangapps CONDA_SHLVL=1 CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4 CURL_CA_BUNDLE=<not set> EXEPATH=C:\Program Files\Git\bin HOMEPATH=\Users\admin INFOPATH=C:\Program Files\Git\mingw64\local\info;C:\Program Files\Git\mingw64\share\info;C:\Program Files\Git\usr\local\info;C:\Program Files\Git\usr\share\info;C:\Program Files\Git\usr\info;C:\Program Files\Git\share\info LD_PRELOAD=<not set> MANPATH=C:\Program Files\Git\mingw64\local\man;C:\Program Files\Git\mingw64\share\man;C:\Program Files\Git\usr\local\man;C:\Program Files\Git\usr\share\man;C:\Program Files\Git\usr\man;C:\Program Files\Git\share\man ORIGINAL_PATH=C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users \admin\bin;C:\Users\admin\AppData\Roaming\Code\User\globalStorage\gith ub.copilot-chat\debugCommand;C:\Users\admin\AppData\Roaming\Code\User\ globalStorage\github.copilot-chat\copilotCli;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\lib\x64;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\libnvvp;C:\Program Files\Common Files\Oracle\Java\j avapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Win dows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Pr ogram Files\dotnet;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA Nv DLISR;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDO WS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;D:\AAAd achuangapps;D:\AAAdachuangapps\Scripts;D:\AAAdachuangapps\Library\bin; C:\Program Files\NVIDIA Corporation\Nsight Compute 2024.1.0;C:\Program Files (x86)\Microsoft SQL Server\160\Tools\Binn;C:\Program Files\Microsoft SQL Server\160\Tools\Binn;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn;C:\Program Files\Microsoft SQL Server\160\DTS\Binn;C:\Program Files (x86)\Microsoft SQL Server\16 0\DTS\Binn;D:\MinGW\bin;C:\Users\admin\Desktop\深度学习;D:\;ode——web搭建;C:\ ;rogram Files\apache-maven\apache-maven-3.9.11\bin;C:\Program Files\MySQL\MySQL Server 9.5\bin;C:\Program Files\Git\cmd;C:\Users\adm in\AppData\Local\Programs\Python\Python313\Scripts;C:\Users\admin\AppD ata\Local\Programs\Python\Python313;D:\AAAdachuangapps;D:\AAAdachuanga pps\Library\mingw- w64\bin;D:\AAAdachuangapps\Library\usr\bin;D:\AAAdachuangapps\Library\ bin;D:\AAAdachuangapps\Scripts;C:\Users\admin\AppData\Local\Microsoft\ WindowsApps;D:\Microsoft VS Code\bin;D:\idea\IntelliJ IDEA Community Edition 2024.3.4.1\bin;D:\pycharm\PyCharm Community Edition 2025.2.3\b in;C:\Users\admin\AppData\Roaming\npm;C:\Users\admin\.vscode\extension s\ms- python.debugpy-2025.16.0-win32-x64\bundled\scripts\noConfigScripts PATH=D:\AAAdachuangapps\envs\dc;D:\AAAdachuangapps\envs\dc\Library\mingw- w64\bin;D:\AAAdachuangapps\envs\dc\Library\usr\bin;D:\AAAdachuangapps\ envs\dc\Library\bin;D:\AAAdachuangapps\envs\dc\Scripts;D:\AAAdachuanga pps\envs\dc\bin;D:\AAAdachuangapps\condabin;C:\Users\admin\bin;C:\Prog ram Files\Git\mingw64\bin;C:\Program Files\Git\usr\local\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Gi t\usr\bin;C:\Users\admin\bin;C:\Users\admin\AppData\Roaming\Code\User\ globalStorage\github.copilot-chat\debugCommand;C:\Users\admin\AppData\ Roaming\Code\User\globalStorage\github.copilot- chat\copilotCli;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\lib\x64;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\libnvvp;C:\Program Files\Common Files\Oracle\Java\j avapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Win dows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Pr ogram Files\dotnet;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA Nv DLISR;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDO WS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;D:\AAAd achuangapps;D:\AAAdachuangapps\Scripts;C:\Program Files\Git\usr\bin;C:\Program Files\NVIDIA Corporation\Nsight Compute 2024.1.0;C:\Program Files (x86)\Microsoft SQL Server\160\Tools\Binn;C:\Program Files\Microsoft SQL Server\160\Tools\Binn;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn;C:\Program Files\Microsoft SQL Server\160\DTS\Binn;C:\Program Files (x86)\Microsoft SQL Server\160\DT S\Binn;D:\MinGW\bin;C:\Users\admin\Desktop\Éî¶Èѧϰ;D:\;ode¡ª¡ªweb´;C:\ ;rogram Files\apache-maven\apache-maven-3.9.11\bin;C:\Program Files\MySQL\MySQL Server 9.5\bin;C:\Program Files\Git\cmd;C:\Users\adm in\AppData\Local\Programs\Python\Python313\Scripts;C:\Users\admin\AppD ata\Local\Programs\Python\Python313;D:\AAAdachuangapps;C:\Program Files\Git\mingw-w64\bin;C:\Program Files\Git\usr\bin;C:\Program Files\ Git\usr\bin;D:\AAAdachuangapps\Scripts;C:\Users\admin\AppData\Local\Mi crosoft\WindowsApps;D:\Microsoft VS Code\bin;D:\idea\IntelliJ IDEA Community Edition 2024.3.4.1\bin;D:\pycharm\PyCharm Community Edition 2025.2.3\bin;C:\Users\admin\AppData\Roaming\npm;C:\Users\admin\.vscode \extensions\ms-python.debugpy-2025.16.0-win32- x64\bundled\scripts\noConfigScripts;C:\Program Files\Git\usr\bin\vendor_perl;C:\Program Files\Git\usr\bin\core_perl PKG_CONFIG_PATH=C:\Program Files\Git\mingw64\lib\pkgconfig;C:\Program Files\Git\mingw64\share\pkgconfig PKG_CONFIG_SYSTEM_INCLUDE_PATH=C:/Program Files/Git/mingw64/include PKG_CONFIG_SYSTEM_LIBRARY_PATH=C:/Program Files/Git/mingw64/lib PSMODULEPATH=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\Windows PowerShell\v1.0\Modules;C:\Program Files (x86)\Microsoft SQL Server\160\Tools\PowerShell\Modules\ PYTHONSTARTUP=c:\Users\admin\AppData\Roaming\Code\User\workspaceStorage\949696be5bc0 088889c63f364f068916\ms-python.python\pythonrc.py PYTHON_BASIC_REPL=1 REQUESTS_CA_BUNDLE=<not set> SSL_CERT_FILE=D:\AAAdachuangapps\envs\dc\Library\ssl\cacert.pem active environment : dc active env location : D:\AAAdachuangapps\envs\dc shell level : 1 user config file : C:\Users\admin\.condarc populated config files : D:\AAAdachuangapps\.condarc C:\Users\admin\.condarc conda version : 24.11.3 conda-build version : 24.9.0 python version : 3.12.7.final.0 solver : libmamba (default) virtual packages : __archspec=1=skylake __conda=24.11.3=0 __cuda=13.0=0 __win=0=0 base environment : D:\AAAdachuangapps (writable) conda av data dir : D:\AAAdachuangapps\etc\conda conda av metadata url : None channel URLs : https://repo.anaconda.com/pkgs/main/win-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/r/win-64 https://repo.anaconda.com/pkgs/r/noarch https://repo.anaconda.com/pkgs/msys2/win-64 https://repo.anaconda.com/pkgs/msys2/noarch package cache : D:\AAAdachuangapps\pkgs C:\Users\admin\.conda\pkgs C:\Users\admin\AppData\Local\conda\conda\pkgs envs directories : D:\AAAdachuangapps\envs C:\Users\admin\.conda\envs C:\Users\admin\AppData\Local\conda\conda\envs platform : win-64 user-agent : conda/24.11.3 requests/2.32.3 CPython/3.12.7 Windows/11 Windows/10.0.26100 solver/libmamba conda-libmamba-solver/24.9.0 libmambapy/1.5.8 administrator : False netrc file : None offline mode : False An unexpected error has occurred. Conda has prepared the above report. If you suspect this error is being caused by a malfunctioning plugin, consider using the --no-plugins option to turn off plugins. Example: conda --no-plugins install <package> Alternatively, you can set the CONDA_NO_PLUGINS environment variable on the command line to run the command without plugins enabled. Example: CONDA_NO_PLUGINS=true conda install <package>
最新发布
11-29
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值