Функция GrdDrvInstall выполняет установку MSI-пакета драйверов Guardant.

 

{dojo-tabs:theme=tundra|id=1}
{dojo-tab:title=C|selected=true}
*C*
UINT GRDDRV_API GrdDrvInstall(	
                IN LPCTSTR pcszDriversPath,
                IN UINT nFlags,
                OUT UINT *pnRebootRequired,
                IN UINT nLanguageID
        );	
{dojo-tab}
{dojo-tab:title=C#|selected=true}
*C#*

{dojo-tab}
{dojo-tab:title=Visual Basic (Declaration)}
*Visual Basic*

{dojo-tab}
{dojo-tab:title=Visual C++}
*Visual C++*

{dojo-tab}
{dojo-tabs}

pcszDriversPath

Указатель на строку, содержащую путь к каталогу, в котором находится файл GrdDriversRU.msi и/или GrdDriversEN.msi. Если параметр равен NULL поиск файлов будет осуществляться в текущем каталоге

nFlags

Флаг проверки версии драйверов

GRDDRV_INSTALL_ONLY_LATEST

Инсталлировать только самую позднюю версию драйвера

GRDDRV_INSTALL_OVERWRITE

Инсталлировать драйверы вне зависимости от версии обнаруженных в системе драйверов

pnRebootRequired

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

nLanguageID

Выбор языка установки, т. е. какой MSI-пакет следует установить: GrdDriversRU.msi или GrdDriversEN.msi

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

Код ошибки Windows

 

NO_ERROR (0)

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

ERROR_INSTALL_SERVICE_FAILURE (1601)

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

ERROR_INSTALL_SUSPEND (1604)

Исталляция драйверов приостановлена, так как для начала установки требуется перезагрузка системы.
Данный код ошибки возвращается на системах Windows 98/ME при наличии драйверов версии 4.x. Программа инсталляции в таком случае не должна обращаться к драйверам, пока не произойдёт перезагрузка системы. После перезагрузки драйвера будут автоматически проинсталлированы.

ERROR_INVALID_NAME (123 (0x7B))

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

Функция GrdDrvInstall выполняет установку MSI-пакета драйверов Guardant.

Если в процессе установки обнаруживается, что в системе присутствуют драйверы более ранних версий, старые драйверы удаляются, если в параметре nFlags установлено значение GRDDRV_INSTALL_ONLY_LATEST. Если в параметре nFlags установлено значение GRDDRV_INSTALL_OVERWRITE, драйверы будут замещены вне зависимости от версии.

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

Перед инсталляцией драйверов рекомендуется проверить их присутствие в системе при помощи функции GrdDrvIsInstalled, а также, если обнаружены установленные драйверы , убедиться в том, что устанавливаемая версия свежее установленной при помощи функции GrdDrvGetVersion.

Пример для используемого средства разработки см. в директории:

"\%Program Files%\Guardant\Guardant 6\%PublicCode%\Samples\x86\Win32\Driver Installation API\"
или
"\%Program Files%\Guardant\Guardant 6\%Public Code%\Samples\x64\Win64\Driver Installation API\"