Saturday, January 27, 2024

native DDL

native DDL

  1. Introduction to Native DLLs - Part 1: Boilerplate
  2. In this article, I explain how to create win32 style DLLs and what the various significant intricacies are.

  3. Introduction to Native DLLs - Part 2: Exporting Functions
  4. This article is the second part in my DLL series, and shows the techniques and considerations involved in exporting functions from a native DLL.

  5. Dependency Walker 2.2
  6. Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. For each module found, it lists all the functions that are exported by that module, and which of those functions are actually being called by other modules. Another view displays the minimum set of required files, along with detailed information about each file including a full path to the file, base address, version numbers, machine type, debug information, and more.

  7. Enforcing a Static Interface in C++
  8. Ways to enforce an interface contract on static methods, similar to what you would expect from static virtual methods if they'd exist in C++

  9. Using Win32 Transactions
  10. Ever since Windows Vista, the Win32 subsystem has support for using transactions with file and registry operations (among others). Using transactions, those operations can be tied together and either committed or rolled back in a single operation. This article demonstrates how to do that in C++.

  11. Using the Win32 Cryptographic API to Hash Data
  12. This article describes a way to hash data using the latest Win32 API and C++ The Microsoft Win32 subsytem has had cryptographic support since Windows NT4.0 in the form of APIs that were exported by CryptoAPI. However, CryptoAPI has been deprecated, and was superseded by Cryptography API: Next Generation (CNG) which has been the long term supported cryptography API. Its extensibility and algorithm agnostic interface makes it easy to use at the application level. It also makes it easier for Microsoft to implement new algorithms. In this article, I show how a programmer can wrap that API for the purpose of hashing data.

  13. Construction and Design-Time Support of the RadioGroup User Control
  14. How to create a .NET user control combining several radio buttons with a border and a caption and provide it with handy support of Visual Studio at design time.

  15. Building and deploying a basic WDF Kernel Mode Driver
  16. An article about developing a driver for the WDF Kernel Mode Driver Foundation.

  17. The OSR USB FX2 Learning Kit Project
  18. This project implements several USB device drivers for the OSR USB FX2 Learning Kit device by Open Systems Resources Inc (OSR) on several operating systems. The intent is to allow USB driver developers compare and contrasts the different operating system driver development environments or frameworks.

  19. WDF Sample Driver Learning Lab for OSR USB-FX2
  20. UMDF 2 is the latest version of UMDF and supersedes UMDF 1. All new UMDF drivers should be written using UMDF 2. No new features are being added to UMDF 1 and there is limited support for UMDF 1 on newer versions of Windows 10. Universal Windows drivers must use UMDF 2.

  21. Using the OSR USB FX-2 Learning Kit V2.0
  22. This document describes how to use the OSR USB FX-2 Learning Kit, V2.0. This USB device was designed and built by OSR specifically for use in teaching software developers how to write drivers for USB devices. This document describes the basic functionality available on the board. The target audience for this document is Windows device driver writers who want to use or implement a driver for the board.

  23. Using the OSR USB FX-2 Learning Kit V2.0
  24. This document describes how to use the OSR USB FX-2 Learning Kit, V2.0. This USB device was designed and built by OSR specifically for use in teaching software developers how to write drivers for USB devices. This document describes the basic functionality available on the board. The target audience for this document is Windows device driver writers who want to use or implement a driver for the board.

  25. USB FX2 learnign kit
  26. Developing a WDF USB Kernel Mode Driver for the OSR USB FX2
  27. This article describes the process of developing a USB Kernel mode device driver using the WDF Kernel Mode Driver Foundation.