Appendix B. API Reference

[Note]
This function reference is C oriented. The WinDriver .NET, Visual Basic and Delphi APIs have been implemented as closely as possible to the C APIs, therefore .NET, VB and Delphi 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/VB/Delphi source code.

B.1  WD_DriverName

Purpose

• 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 windrvr6 or WinDriver (on Mac OS X).
  • 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 – windrvr6 or WinDriver (on Mac OS X).
  • On Windows, Mac OS X, and Linux, if you select to modify the name of the WinDriver kernel module (windrvr6.sys/.o/.ko or WinDriver.kext), as explained in section 15.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 Visual Studio and gcc).
    The sample and generated DriverWizard Windows, Mac OS X, and Linux WinDriver projects/makefiles already set this preprocessor flag.

Prototype
const char*  DLLCALLCONV WD_DriverName(const char* sName);

Parameters
NameTypeInput/Output
sNameconst char*Input

Description
NameDescription
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 windrvr6, not windrvr6.sys or windrvr6.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.

Remarks
  • The ability to rename the WinDriver kernel module is supported on Windows, Mac OS X, and Linux, as explained in section 15.2.
    On Windows CE, always call the WD_DriverName() function with the default WinDriver kernel module name – windrvr6 or WinDriver (on Mac OS X) – or refrain from calling the function altogether.