Yes. WinDriver can be used to develop .NET Windows drivers in your preferred .NET development language.
The WinDriver .NET API DLL - wdapi<version>_dotnet.dll (e.g. wdapi800_dotnet.dll in WinDriver v8.00) provides a .NET version of the high-level WinDriver APIs, implemented using managed extensions for C++. This DLL is found under the WinDriver\lib\<CPU>\<.NET version> directory (e.g. WinDriver\lib\x86\v1.1.4322) and its source code is found under the relevant WinDriver\src\wdapi.net directory.
[v7.0x Note: In v8.00 of WinDriver we added both versioning and 64-bit support to the DLL, which resulted in a different DLL name and new locations for the related files. In versions 7.01 and 7.02 of WinDriver the name of the DLL was wdapi_dotnet and it could be found both under the WinDriver\lib and WinDriver\redist directories. The DLL source code in these versions was found under the WinDriver\wdapi.net directory].
Beginning with v8.00 of WinDriver you can use WinDriver's DriverWizard utility to generate driver code in C# (USB and PCI) and VB.NET (USB).
WinDriver also includes .NET samples that use the WinDriver .NET API DLL:
- USB:
- The WinDriver\csharp.net\usb_sample directory contains a .NET USB library (usb_lib_dotnet.dll) and a sample USB diagnostics application (csharp_usb_sample.exe), both implemented in C#.
- The WinDriver\vb.net\usb_sample directory contains a sample .NET USB diagnostics application (vb_usb_sample.exe), implemented in VB.NET. This sample is similar to the sample C# USB diagnostics application and also uses the sample C# USB library (usb_lib_dotnet.dll).
- PCI:
- The WinDriver\csharp.net\pci_sample directory contains a .NET PCI library (pci_lib.dll) and a sample PCI diagnostics application (pci_sample.exe), both implemented in C#.
- The WinDriver\plx\dotnet directory contains a C# library (plx_lib_dotnet.dll) and sample diagnostics application (PLX_Sample.exe), designed specifically for handling PLX devices.
To develop a .NET driver with WinDriver, either use DriverWizard to generate a diagnostics .NET driver application for your device, or use the WinDriver .NET sample that most matches your design, and then modify the generated/sample code in accordance with your hardware specification and desired driver functionality. Alternatively, you can use the generated/sample code as a reference for writing your own WinDriver .NET driver.
Back to Top
|