问题标签 [iddcx]
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.
windbg - “检测到 PNP/INF 版本与图形适配器上的 KMD 文件版本不匹配”
我一直在测试 UMDF IddCx 视频驱动程序,并且这条消息刚刚开始出现(在安装 devcon.exe ...之后)以及 WinDbg 中的断点:
堆栈信息(Windows 10 专业版 | 测试模式 | 内部版本 19041.vb_release.191206-1406):
我不明白这是什么意思;我没有更改 INF 中的任何内容,这是一个 UMDF 驱动程序,那么它指的是什么“KMD 文件版本”?我搜索了消息本身以及 DpiFdoValidateKmdAndPnpVersionMatch,但结果为空。
编辑:(添加版本信息)
任何人都可以阐明这一点吗?
winapi - 使用 IOCTL_VIDEO_QUERY_AVAIL_MODES 获取视频适配器支持的模式列表
我正在尝试从视频适配器驱动程序中查询支持的模式列表:
我FALSE
返回第一个DeviceIoControl调用,并将 LastError 设置为ERROR_INVALID_FUNCTION
(0x1)。
我成功地使用相同的代码在我的驱动程序中调用自定义 IOCTL 内容,因此我确信实现本身是合理的。但是,当我打开设备的句柄时,我应该使用一个包含有关设备和我将要使用的接口的信息的字符串。我为我的自定义 IOCTL 接口定义了 GUID,并使用类似以下的内容来发送自定义 IOCTL 命令:
但是IOCTL_VIDEO_QUERY_NUM_AVAIL_MODES和IOCTL_VIDEO_QUERY_AVAIL_MODES的文档没有提到它们属于哪个接口(GUID)。
我假设我必须使用GUID_DEVINTERFACE_DISPLAY_ADAPTER接口打开适配器设备,但是在第一次 DeviceIoControl 调用时我得到了不正确的功能。如果我用 . 打开适配器或其显示器之一,结果相同GUID_DEVINTERFACE_MONITOR
。
我在网上搜索了任何代码示例,但我发现的都是来自驱动程序方面的查询。
如果有帮助的话,我要针对的显示适配器驱动程序是 IddCx 驱动程序。有什么线索吗?
c++ - IddCX 标头导致纯 C 编译出错
我正在尝试将纯 C 用于我正在研究的 Windows 驱动程序。它是使用 IddCx (um/iddcx/iddcx.h) 的驱动程序。这个头文件有一个 'extern "c"` 包装器以允许 C 编译。问题是'extern“C”'块中的代码不是C。我得到了这两个问题。
像这样的枚举声明:
这会导致这样的错误(在 C 中,我认为您不能为 Enum 定义类型):
error C2059: syntax error: ':'
和这样的函数声明:
这会导致这样的错误(由于没有给定 typedef 的结构,因此需要以“struct”为前缀):
error C2143: syntax error: missing ')' before '*'
error C2143: syntax error: missing '{' before '*'
error C2143: syntax error: missing ';' before '*'
warning C4218: nonstandard extension used: must specify at least a storage class or a type
error C2059: syntax error: ')'
warning C4218: nonstandard extension used: must specify at least a storage class or a type
如果标头没有任何外部 C 包装器,我会假设它是仅 Cpp 的 API 并改用 Cpp。但它确实有它们,所以它应该编译得很好。要么我需要设置一些标志才能使其正常工作,要么这是微软的错误。如果这是他们的错误,请报告错误并创建我自己的标题以供现在使用。
另外,如果这是一个错误,我应该在哪里向微软报告这个问题?