问题标签 [windows-nt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows-7 - 使用 XTYP_POKE 调用 DdeClientTransaction() 时收到 DMLERR_POSTMSG_FAILED
戴上你的退路帽...
我必须使用 DDE(对不起,在这方面绝对没有选择)与工业控制系统进行通信。控制系统是 DDE 服务器,运行在与我的 DDE 客户端相同的 Windows 7 PC 上。客户端使用 MfcDDE 作为它的接口,然后调用DdeClientTransaction()
函数。
DDE 建议操作在调用 MfcDDE 以使用DdeClientTransaction(XTYP_ADVSTART
) 建立它们后按预期工作。通过建议机制成功读取所有感兴趣的数据点。
不幸的是,尝试通过该DdeClientTransaction(XTYP_POKE)
函数写入数据失败。在我的客户中,DdeGetLastError()
返回DMLERR_INVALIDPARAMETER (16390 0x4006)
. 有趣的是,DDESpy(是的,我就是这么绝望)正在报告DMLERR_POSTMSG_FAILED (16396 0x400C)
。
客户端在其最初的 NT 实现中工作,但在 Win7 下重建和运行,XTYPE_POKE
失败了。我已经考虑过安全性和线程化的可能性。
我一直没有成功地为 NT 和 Win7 之间的 DDE 安全更改找到指向枪。
如果重要的话,DdeClientTransaction()
调用是在一个线程中进行的,该线程从WinMain()
调用AfxWinMain()
到CDialog::DoModal()
客户端的功能代码开始。
感谢您的任何帮助,您可以提供...
windows - 为什么堆栈的“逻辑底部”和“物理底部”的偏移量是随机的?
我用windbg在我的Windows 10机器上运行一个程序,让它在初始断点处中断。我取堆栈物理底部的地址(TEB 的 stackBase),然后减去rsp
. ntdll!LdrInitializeThunk
我只是在同一个程序上做了 5 次,得到了 5 个不同的值:
如果你对ntdll!RtlUserThreadStart
等做同样的事情,你会得到类似的结果。这表明堆栈的“逻辑底部”有些随机化。这是为什么?这是堆栈内部的某种“迷你ASLR”吗?这在任何地方都有记录吗?
windows-nt - 为什么 Windows NT 的微内核不直接与硬件交互
在微内核系统结构中,硬件不与微内核交互。所以我想知道为什么Windows NT的微内核不直接与硬件层交互?
这是我在说的 Mico内核系统结构图
regex - Regular Expressions in Windows (NT) Kernel
What are my options if I want to use regular expression matching in a Windows NT kernel driver that is written in C?
I don't think Microsoft Windows has a ready made API for this, but correct me if I'm wrong. I'm assuming that I'll need to use an external library or write my own parser in C.
This is for a commercial project, so GPL open source is not an option.
Thanks,
vb6 - Windows Server 2012 上的 VB 6.0 Windows 服务
我有几个用 VB 6.0 编写的 Windows 服务......多年来,这些服务在 Windows Server 2003 上成功运行,现在是我组织中 Windows Server 2012 的时候了......我能够使用安装 VB 6.0 Windows 服务应用程序windows server 2012 上的 CB 6.0 包,但无法从命令提示符安装服务。我尝试在下面安装服务,命令正在执行而没有任何错误,但服务没有反映在 Services.msc
命令:xxx.exe -install
java - 在另一台计算机上运行 java 项目时,“Java 运行时环境检测到致命错误”
我在 Netbeans 中创建了一个 Java 项目,该项目在我的计算机上运行没有问题(在 Netbeans 和运行 jar 文件中),但是当我尝试在另一台计算机上运行该项目时,我收到以下错误消息:
Java 运行时环境检测到一个致命错误:
pc = 0x0000000062478337,pid = 2860,tid = 0x0000000000000e84 处的异常_访问_VIOLATION (0xc0000005)
JRE 版本:Java(TM) SE 运行时环境 (8.0_112-b15) (build 1.8.0_112-b15) Java VM:Java HotSpot(TM) 64-Bit Server VM (25.112-b15 混合模式 windows-amd64 压缩 oops) 有问题框架:V [jvm.dll+0x68337]
无法写入核心转储。默认情况下,在 Windows 的客户端版本上不启用小型转储
如果您想提交错误报告,请访问: http ://bugreport.java.com/bugreport/crash.jsp
我搜索了类似的问题,但似乎找不到任何与我的错误相匹配的内容,所以我不确定该怎么做。如果需要,我可以发布完整的错误日志。如果没有人能弄清楚,至少有人能指出我正确的方向吗(这是内存问题,我需要更新 Java 等)吗?
sql - 从 Excel 更新 SQL Server 表,然后填充剩余的列数据
SQLPLUS 不可用
我需要能够从命令行调用 SQL 脚本并传入参数以供使用。该脚本将从 Excel 电子表格(也在命令行中指定的文件)中读取数据,以将记录附加到数据库中的现有表中。
数据库表中有两个附加列在电子表格中不存在。这些列是月份和年份。这两个值需要在命令行中输入并为添加的每条新记录填充。在命令行中输入的任何内容对于每个新记录都将是相同的值。(表中的任何现有记录都需要保持不变)。
你能帮我吗?
我正在考虑使用 osql 来指定用户、密码、数据库和.sql
文件。
windows - 为什么批处理脚本变量在 FOR 循环中保持不变?
我们需要使用批处理脚本来控制像start
, stop
,这样的守护进程restart
,其中变量是可变的,根据守护进程的条件动态更改。这里我们要根据问题来模拟你的实现。随机更改,但在循环内它在标签下保持不变。status
CKI_SYSTEM_STAT
CKI_SYSTEM_STAT
for
stop
由于这个原因,当执行停止操作时,我们无法检测到守护程序是否成功停止。这是供您考虑的批处理脚本。
为了您的实现,我通过调用循环内的标签来模拟它,以查看标签下的内部循环值status
的实际值。但在循环内保持不变。这是控制台输出:CKI_SYSTEM_STAT
CKI_SYSTEM_STAT
for
stop
CKI_SYSTEM_STAT
for
脚本内部可能有错误或无法实现变量的范围。如果有人帮助我们找出这个脚本的问题/错误,那将是非常重要的。备受期待的替代解决方案。