AppendixB.API Reference

This function reference is C oriented. The WinDriver C# APIs have been implemented as closely as possible to the C APIs, therefore .NET programmers can also use this reference to better understand the WinDriver APIs for their selected development language. For the exact API implementation and usage examples for your selected language, refer to the WinDriver .NET source code.



Sets the name of the WinDriver kernel module, which will be used by the calling application.

  • The default driver name, which is used if the function is not called, is windrvr1411.
  • This function must be called once, and only once, from the beginning of your application, before calling any other WinDriver function (including WD_Open() / WDC_DriverOpen() / WDC_xxxDeviceOpen()), as demonstrated in the sample and generated DriverWizard WinDriver applications, which include a call to this function with the default driver name — windrvr1411.
  • On Windows and Linux, if you select to modify the name of the WinDriver kernel module (windrvr1411.sys/.dll/.o/.ko), as explained in Section15.2, you must ensure that your application calls WD_DriverName() with your new driver name.
  • In order to use the WD_DriverName() function, your user-mode driver project must be built with WD_DRIVER_NAME_CHANGE preprocessor flag (e.g.: -DWD_DRIVER_NAME_CHANGE — for MS Visual Studio, Windows GCC, and GCC).
    The sample and generated DriverWizard Windows and Linux WinDriver projects/makefiles already set this preprocessor flag.
const char* DLLCALLCONV WD_DriverName(const char* sName);
sNameconst char*Input
sName The name of the WinDriver kernel module to be used by the application.
NOTE: The driver name should be indicated without the driver file's extension. For example, use windrvr1411, not windrvr1411.sys or windrvr1411.o.
Return Value

Returns the selected driver name on success; returns NULL on failure (e.g., if the function is called twice from the same application)long.


The ability to rename the WinDriver kernel module is supported on Windows and Linux, as explained in Section15.2.