Функция GrdDrvUnInstall производит удаление драйвера Guardant версий 5.х из системы.

    UINT GRDDRV_API GrdDrvUnInstall(	
      IN LPCTSTR pcszDriversPath,
      OUT UINT *pnRebootRequired,
      VOID *Reserved
    );	

    pcszDriversPath

    Указатель на строку, содержащую путь к каталогу, в котором находится файл GrdDriversRU.msi и/или GrdDriversEN.msi.
    Система всегда кэширует MSI пакет, точнее удаляет все файлы из него, оставляя лишь оболочку установки. Поэтому если указать NULL. то будет использован кэшированный пакет. В обычном случае необходимо всегда указывать NULL.

    pnRebootRequired

    Указатель на переменную, в которую возвращается признак необходимости перезагрузки после завершения установки драйвера

    pReserved

    Зарезервировано. Параметр должен быть равен NULL

    Возможные ошибки

    Код ошибки Windows

     

    NO_ERROR (0)

    Успешное удаление драйверов.
    В случае, если код возврата равен NO_ERROR, но при этом установлен флаг перезагрузки (содержащийся в pnRebootRequired), то это означает что один или несколько компонентов (файлов) используются системой, и требуется перезагрузка для загрузки новых компонентов. Программа инсталляции в таком случае может закончить свои действия и в конце работы произвести перезагрузку.

    ERROR_FILE_NOT_FOUND (2)

    Драйверы Guardant не установлены.

    ERROR_INSTALL_SERVICE_FAILURE (1601)

    Сервис Microsoft Installer версии 1.1 и выше в системе не установлен.
    Такой код возврата может возвращаться на системах Windows 98, на которых ранее не устанавливались продукты Microsoft Office, или другие, содержащие в дистрибутиве Windows Installer.

    ERROR_INVALID_NAME (123 (0x7B))

    Указан неверный путь или имя файла

    Функция GrdDrvUnInstall производит проверку наличия установленного драйвера Guardant, удаляет файлы, удаляет информацию о драйверах Guardant из системного реестра.

    Если после удаления драйверов необходима перезагрузка системы, в переменную, на которую указывает параметр pnRebootRequired возвращается значение, отличное от нуля.

    • No labels