Driver Samples, Techniques, Papers

本文介绍了多种Windows内核驱动的开发案例和技术细节,包括APC技术、驱动加载、实时驱动、WDM过滤驱动等,并探讨了如MWSW锁、责任传递等技术手段的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Drivers:

1.      APC kernel. This shows APC techniques. Also shows use of PsLookupProcessByProcessId, KeAttachProcess and KeDetachProcess.

2.      Driver loading a driver. A driver that loads another driver.

3.      Install a legacy driver. A program to install legacy-type drivers.

4.      Boot-time driver. A boot-time driver. Shows how it supplies a device object as anchor and how it “exports” a many-readers-or-single-writer function via that anchor.

5.      WDM filter driver. A full-fledged WDM filter driver, suitable for harddisk, CD/ DVD and floppy I/O stacks. This shows off things like I/O completion and WMI function.

6.      A kernel DLL. The how-to about kernel DLLs.

7.      Real-mode driver. A driver that goes into 16-bit real, segmented mode and — the harder part — back to 32-bit virtual, flat mode. Shows off building hardware-related structures and the use of rather specialized techniques.

8.      Section objects. Driver to use section objects. Shows how to use ZwCreateSection, ZwMapViewOfSection, etc., and also how to invoke the many-readers-or-single-writer function provided by the boot-time driver.

9.      A TDI client. A TDI client. Shows how a kernel routine can use TCP/IP services, via TDI (Transport Driver Interface).

10.  Packet alteration/encapsulation (now at NDIS.com). Driver excerpts showing how to change packets so as to encapsulate them, rather like VPN. Note: This is not an entire application but rather a set of techniques that have been used in a full-fledged NDIS IM driver based on the DDK passthru sample.

11.  List of drivers. Driver that gets a list of loaded drivers/kernel modules.

Techniques.

1.      MWSWLock. Spin locking to provide single-updater-or-many-reader serialization.

2.      Responsibility passing. Technique for resolving a race condition between 2 or more routines (or instances of routines) so that only the last to try has to discharge a certain duty. Basically, “last one out turns off the lights.”

3.      TCP checksum. Calculation of the TCP checksum.

Papers:

1.      Extending PassThru. Blocking network packets. Control techniques include WMI.  

2.      The essentials of building drivers. The in’s and out’s of building drivers for Windows from Win2K to Win2003.

3.      Comparison of WinNT and OS/390. Comparison of WinNT and OS/390 ( IBM mainframe OS).

4.      Automatic Recovery Services. Description of Automatic Recovery Services ( ARM ) on OS/390-z/OS.

5.      Cross-memory services. Definitive description of cross-memory hardware and services on OS/390-z/OS.

About the author

James Antognini is a software engineer in White Plains, New York. You can reach him at antognini@mindspring.com.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值