Взаимодействие со встроенным программным обеспечением аппаратной платформы (efi_api.h)
API определен в заголовочном файле sysroot-*-kos/include/coresrv/efi/efi_api.h из состава KasperskyOS SDK.
API обеспечивает возможность использовать функции встроенного программного обеспечения (англ. firmware) аппаратной платформы, доступные через интерфейс UEFI после загрузки KasperskyOS. (Об этих функциях см. раздел "Services – Runtime Services" спецификации UEFI.)
Поведение функций интерфейса UEFI на конкретной аппаратуре соответствует спецификации UEFI в той степени, в какой это определил разработчик этой аппаратуры.
Сведения о соответствии кодов возврата функций API и кодов возврата функций встроенного программного обеспечения аппаратной платформы приведены в заголовочном файле efi_api.h.
Сведения о функциях API приведены в таблице ниже.
Использование API
Начальным шагом является вызов функции EfiApiInit(), которая создает подключение вызывающего процесса к службе ядра, обеспечивающей взаимодействие со встроенным программным обеспечением через интерфейс UEFI.
Чтобы получить или установить текущее время, нужно вызвать функцию KnEfiGetTime() или KnEfiSetTime() соответственно.
Функции KnEfiGetTime() и KnEfiSetTime() нельзя использовать для получения и установки времени с высокой точностью, поскольку возможно вытеснение вызывающего потока исполнения.
Чтобы перезагрузить аппаратную платформу, нужно вызвать функцию KnEfiResetSystem().
Чтобы перечислить имена переменных UEFI и связанные с этими переменными уникальные идентификаторы поставщиков, нужно использовать функцию KnEfiGetNextVariableName().
Чтобы получить значение переменной UEFI, нужно вызвать функцию KnEfiGetVariable().
Чтобы создать, изменить или удалить переменную UEFI, нужно вызвать функцию KnEfiSetVariable(). Чтобы изменить атрибуты переменной UEFI, нужно удалить эту переменную и создать новую с новыми атрибутами.
Чтобы получить сведения о размерах переменных UEFI и памяти, предназначенной для хранения этих переменных, нужно использовать функцию KnEfiQueryVariableInfo().
Сведения о функциях API
Функции efi_api.h
Функция | Сведения о функции |
|---|---|
| Назначение Позволяет получить текущее время от источника времени на аппаратной платформе и характеристики этого источника. Параметры
Возвращаемые значения В случае успеха возвращает |
| Назначение Устанавливает текущее время в источнике времени на аппаратной платформе. Параметры
Возвращаемые значения В случае успеха возвращает |
| Назначение Позволяет получить значение переменной UEFI. Параметры
Возвращаемые значения В случае успеха возвращает |
| Назначение Перечисляет имена переменных UEFI. Параметры
Возвращаемые значения В случае успеха возвращает |
| Назначение Устанавливает значение переменной UEFI. Параметры
Возвращаемые значения В случае успеха возвращает |
| Назначение Позволяет получить сведения о переменных UEFI. Параметры
Возвращаемые значения В случае успеха возвращает |
| Назначение Перезагружает аппаратную платформу. Параметры
Возвращаемые значения В случае успеха возвращает |
| Назначение Создает подключение вызывающего процесса к службе ядра, обеспечивающей взаимодействие со встроенным программным обеспечением аппаратной платформы через интерфейс UEFI. Параметры Нет. Возвращаемые значения В случае успеха возвращает |