news 2026/8/21 14:47:16

23、16位驱动DLL入门指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
23、16位驱动DLL入门指南

16位驱动DLL入门指南

一、为何驱动DLL通常为16位

在Windows 3.x时代,微软建议开发者将所有硬件驱动打包为VxD(Windows的“真正”设备驱动)。然而,许多开发者(包括微软自身)并未遵循这一建议,而是将驱动功能放入DLL中。毕竟,VxD的学习曲线很陡峭,而打包为DLL的驱动也能胜任工作(不过,像串口驱动这类需要快速中断响应时间的驱动除外)。

如今,微软建议Windows 95开发者将硬件驱动打包为VxD。这一次,该建议更难被忽视,因为Win32 DLL被禁止执行大多数“驱动”类型的操作,禁止的操作包括:
- 访问内存映射硬件
- 执行DMA传输
- 处理硬件中断
- 发出软件中断

由此可见,若不违反这些规则,唯一能打包为32位DLL的驱动类型是最简单的那种:用于I/O映射设备的轮询模式驱动(无中断)。

许多Windows 95开发者因此听从微软建议编写VxD。不过,若将驱动构建为16位DLL,仍可编写复杂的驱动,因为16位DLL不受Win32 DLL的相同限制。实际上,微软提供的许多标准驱动(包括鼠标驱动和多媒体驱动)仍是16位的。但在Windows 95下使用16位DLL,除了驱动DLL外,还需要编写另一个DLL:thunk DLL。

二、16位DLL与32位应用程序的接口

在Windows 95中,无论与DLL接口的应用程序是旧的16位Windows 3.x应用程序还是新的32位Win32应用程序,驱动DLL始终是16位的。若要让16位驱动DLL被Win32应用程序使用,必须编写一个转换层,在32位和16位世界之间进行转换,这个转换层称为thunk DLL。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 10:47:49

32、Windows驱动程序中的定时器使用与英特尔架构解析

Windows驱动程序中的定时器使用与英特尔架构解析 1. 驱动DLL使用定时器 1.1 INT 8h处理器的使用与局限 INT 8h处理器仅应执行真正对时间要求严格的操作,对于其他操作(如更新客户端窗口),可通过调用 PostMessage 并使用用户定义的消息来推迟处理。窗口过程在接收到消息…

作者头像 李华
网站建设 2026/8/21 5:48:10

ArcGIS大师之路500技---037普通克里金VS泛克里金

文章目录前言一、两种克里金的本质区别(一句话说清)二、普通克里金的5种半变异函数详解2.1 Spherical(球面模型)★★★★★2.2 Exponential(指数模型)★★★★2.3 Gaussian(高斯模型&#xff09…

作者头像 李华
网站建设 2026/8/20 20:50:21

QQ音乐API终极指南:快速搭建专属音乐数据服务

QQ音乐API终极指南:快速搭建专属音乐数据服务 【免费下载链接】QQMusicApi 基于 Express Axios 的 QQ音乐接口 nodejs 版 项目地址: https://gitcode.com/gh_mirrors/qqm/QQMusicApi 在当今数字音乐时代,获取可靠的音乐数据接口成为众多开发者的…

作者头像 李华
网站建设 2026/8/21 2:12:45

Auto-install 终极指南:智能依赖管理全解析

Auto-install 终极指南:智能依赖管理全解析 【免费下载链接】auto-install Install dependencies as you code ⚡️ 项目地址: https://gitcode.com/gh_mirrors/au/auto-install 在当今快节奏的开发环境中,手动管理项目依赖已成为效率瓶颈。Auto-…

作者头像 李华
网站建设 2026/8/21 1:59:09

iOS上架被卡在 4.3条款 怎么办?分析应用被判定为相似应用的常见原因

第一次遇到 4.3 被拒时,我并没有太意外。 项目是典型的工具型应用,功能明确、逻辑简单,但审核意见里那句“与 App Store 上已有应用过于相似”,还是让人停下来重新审视整个上架过程。 后来几次 4.3 相关的项目让我逐渐意识到&…

作者头像 李华
网站建设 2026/8/21 2:18:04

Langchain-Chatchat协同编辑设想:多人同时维护知识库的可能性

Langchain-Chatchat协同编辑设想:多人同时维护知识库的可能性 在企业级AI应用逐渐从“演示系统”走向“生产系统”的今天,一个现实问题日益凸显:如何让团队中的多个成员,像协作编辑一份Word文档一样,共同维护一个本地部…

作者头像 李华