我正在尝试以编程方式更改终端服务设置。我了解到您必须使用 tsuserex.dll。作为 c# 我通过 tlbimp 运行 tsuserex 并创建了 TSUSEREXLib.dll 然后用 regasm 注册它。我让它工作并用它作为概念教授编写了一个框架程序。但是今天在我运行程序时进行了一些更改后,我收到了错误
无法将“System.__ComObject”类型的 COM 对象转换为接口类型“TSUSEREXLib.IADsTSUserEx”。此操作失败,因为 IID 为“{C4930E79-2989-4462-8A60-2FCF2F2955EF}”的接口的 COM 组件上的 QueryInterface 调用因以下错误而失败:不支持此类接口(来自 HRESULT 的异常:0x80004002 (E_NOINTERFACE)) .
它抛出异常就行了
IADsTSUserEx iad = (IADsTSUserEx)((DirectoryEntry)user.GetUnderlyingObject()).NativeObject;
这条确切的线路在测试项目中运行良好。我知道用户是一个有效的用户主体,谷歌搜索我发现这通常只需要重新注册 dll,但即使在卸载并重新加载它之后它仍然无法工作。我缺少什么导致我的 dll 停止工作。