Retrieves the status of the class's system driver.
int GetDriverStatus(const char* lpszProductGUID);
INT GetDriverStatus(LPCWSTR lpszProductGUID);
This method retrieves the status of the class's system driver. This status can then be used to verify whether it has been properly installed and is ready for use.
The value returned by the method corresponds to the dwCurrentState field of the SERVICE_STATUS structure from the Windows API. It will be one of the following:
|MODULE_STATUS_NOT_PRESENT||0x00000000||The specified module is not present on the system.|
|MODULE_STATUS_STOPPED||0x00000001||The specified module is in the Stopped state.|
|MODULE_STATUS_RUNNING||0x00000004||The specified module is loaded and running.|
ProductGUID is used to distinguish between driver installations performed by different applications. Such information is necessary to guard against unexpected situations such as, e.g., the driver being uninstalled by one application despite other applications still needing it.
Therefore, to ensure proper operation, it is critical that each individual application have its own unique ProductGUID value, and that applications (and their installation scripts) use that value when calling any of the following methods:
This method is available in both the class API and the Installer DLL included with the product; please refer to the Driver Installation topic for more information about the latter.
Note: This method cannot be called within events.
Error Handling (C++)
This method returns an Integer value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.