Developing Kernel Drivers with Modern C++
summary
Argues that modern C++ is practical for Windows kernel drivers and shows working patterns: override new/delete using ExAllocatePoolWithTag and placement new to run constructors, RAII wrappers (auto-lock, generic handle) to avoid leaks in nonpaged pool, a KString/KVector library, linked-list wrappers around LIST_ENTRY, and a component base with variadic templates implementing QueryInterface and refcounting with Interlocked; demonstrates PoolTagging, FAST_MUTEX, PoolMon, and that debugging requires a second machine.
AI-written summary · about
chapters (20)
- 0:00Introduction
- 0:44Pavels background
- 1:29What is it about
- 5:05Memory Compression
- 7:32User Mode vs Kernel Mode
- 11:32Interrupt Request Level
- 16:38No Runtime
- 17:29Kernel Space
- 18:22Resource Acquisition
- 21:22Mutex
- 22:03Implement Mutex
- 25:46Memory Allocations
- 31:15Overrides
- 33:35PlacementNew
- 36:25String Types
- 38:55String Classes
- 41:13Vector Classes
- 44:56Examples
- 47:24Components
- 50:50Example
related talks
55mC++ in the World of Embedded Systems
26mWindows Kernel Programming with Rust
57mDeeply Embedded C++
01h 03mLearning and teaching modern C++
01h 30mC++ in Constrained Environments
59mModernizing Legacy C++ Code
58mLeveraging C++20/23 Features for Low Level Interactions
01h 16mPaying for Lunch: C++ in the ManyCore Age
