Преобразование форматов представления идентификаторов UUID, GUID (uuid.h, guid.h, uuid_common.h)

API определены в следующих заголовочных файлах из состава KasperskyOS SDK:

API uuid.h и guid.h позволяют преобразовывать формат представления идентификаторов UUID (об UUID см. RFC 4122) и GUID (реализации UUID от компании Microsoft) соответственно. UUID и GUID может быть представлен как байтовый массив, форматированная строка (пример: 2638179e-9732-4247-aa42-bd86ecc7bde0) или структура. Функции API uuid.h и guid.h выполняют конвертирование между эти форматами. Как UUID, так и GUID представляет собой 16-байтовый идентификатор, состоящий из пяти сегментов. Отличие между UUID и GUID состоит в том, что в UUID содержимое всех сегментов размещается в памяти как big-endian, а в GUID содержимое первых трех сегментов размещается в памяти как little-endian, и только содержимое последних двух сегментов размещается в памяти как big-endian.

API uuid_common.h содержит дополнительные макросы и функцию. Функция позволяет проверить корректность форматированной строки с данными UUID или GUID, а макросы можно применять при выполнении форматированного вывода UUID или GUID с использованием функций семейства printf.

Сведения о функциях и макросах API приведены в таблицах ниже.

Функции uuid.h

Функция

Сведения о функции

UuidStructToRaw()

Назначение

Копирует данные UUID из структуры в байтовый массив.

Параметры

  • [in] uuid – указатель на структуру с данными UUID. Тип структуры определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
  • [out] uuidRaw – идентификатор байтового массива с данными UUID. Тип параметра определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.

Возвращаемые значения

Нет.

UuidRawToStruct()

Назначение

Копирует данные UUID из байтового массива в структуру.

Параметры

  • [in] uuidRaw – идентификатор байтового массива c данными UUID. Тип параметра определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
  • [out] uuid – указатель на структуру с данными UUID. Тип структуры определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.

Возвращаемые значения

Нет.

UuidStringToRaw()

Назначение

Копирует данные UUID из форматированной строки в байтовый массив.

Параметры

  • [in] uuidStr – указатель на форматированную строку c данными UUID.
  • [out] uuidRaw – идентификатор байтового массива с данными UUID. Тип параметра определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.

Возвращаемые значения

В случае успеха возвращает rcOk, иначе возвращает код ошибки.

Если форматированная строка с данными UUID некорректна (имеет несоответствующий размер, неправильное расположение дефисов или недопустимые символы), возвращает rcInvalidArgument.

UuidRawToString()

Назначение

Копирует данные UUID из байтового массива в форматированную строку.

Параметры

  • [in] uuidRaw – идентификатор байтового массива с данными UUID. Тип параметра определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
  • [out] uuidStr – указатель на форматированную строку c данными UUID. Размер строки (в байтах) с учетом терминирующего нуля соответствует значению константы UUID_STR_SIZE, определенной в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.

Возвращаемые значения

Нет.

UuidStringToStruct()

Назначение

Копирует данные UUID из форматированной строки в структуру.

Параметры

  • [in] uuidStr – указатель на форматированную строку c данными UUID.
  • [out] uuid – указатель на структуру с данными UUID. Тип структуры определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.

Возвращаемые значения

В случае успеха возвращает rcOk, иначе возвращает код ошибки.

Если форматированная строка с данными UUID некорректна (имеет несоответствующий размер, неправильное расположение дефисов или недопустимые символы), возвращает rcInvalidArgument.

UuidStructToString()

Назначение

Копирует данные UUID из структуры в форматированную строку.

Параметры

  • [in] uuid – указатель на структуру с данными UUID. Тип структуры определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
  • [out] uuidStr – указатель на форматированную строку c данными UUID. Размер строки (в байтах) с учетом терминирующего нуля соответствует значению константы UUID_STR_SIZE, определенной в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.

Возвращаемые значения

Нет.

Функции guid.h

Функция

Сведения о функции

GuidStructToRaw()

Назначение

Копирует данные GUID из структуры в байтовый массив.

Параметры

  • [in] guid – указатель на структуру с данными GUID. Тип структуры определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
  • [out] guidRaw – идентификатор байтового массива с данными GUID. Тип параметра определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.

Возвращаемые значения

Нет.

GuidRawToStruct()

Назначение

Копирует данные GUID из байтового массива в структуру.

Параметры

  • [in] guidRaw – идентификатор байтового массива c данными GUID. Тип параметра определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
  • [out] guid – указатель на структуру с данными GUID. Тип структуры определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.

Возвращаемые значения

Нет.

GuidStringToRaw()

Назначение

Копирует данные GUID из форматированной строки в байтовый массив.

Параметры

  • [in] guidStr – указатель на форматированную строку c данными GUID.
  • [out] guidRaw – идентификатор байтового массива с данными GUID. Тип параметра определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.

Возвращаемые значения

В случае успеха возвращает rcOk, иначе возвращает код ошибки.

Если форматированная строка с данными GUID некорректна (имеет несоответствующий размер, неправильное расположение дефисов или недопустимые символы), возвращает rcInvalidArgument.

GuidRawToString()

Назначение

Копирует данные GUID из байтового массива в форматированную строку.

Параметры

  • [in] guidRaw – идентификатор байтового массива с данными GUID. Тип параметра определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
  • [out] guidStr – указатель на форматированную строку c данными GUID. Размер строки (в байтах) с учетом терминирующего нуля соответствует значению константы UUID_STR_SIZE, определенной в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.

Возвращаемые значения

Нет.

GuidStringToStruct()

Назначение

Копирует данные GUID из форматированной строки в структуру.

Параметры

  • [in] guidStr – указатель на форматированную строку c данными GUID.
  • [out] guid – указатель на структуру с данными GUID. Тип структуры определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.

Возвращаемые значения

В случае успеха возвращает rcOk, иначе возвращает код ошибки.

Если форматированная строка с данными GUID некорректна (имеет несоответствующий размер, неправильное расположение дефисов или недопустимые символы), возвращает rcInvalidArgument.

GuidStructToString()

Назначение

Копирует данные GUID из структуры в форматированную строку.

Параметры

  • [in] guid – указатель на структуру с данными GUID. Тип структуры определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
  • [out] guidStr – указатель на форматированную строку c данными GUID. Размер строки (в байтах) с учетом терминирующего нуля соответствует значению константы UUID_STR_SIZE, определенной в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.

Возвращаемые значения

Нет.

Функции и макросы uuid_common.h

Функция/макрос

Сведения о функции/макросе

UUID_PRINT_FMT

Назначение

Раскрывается в строку форматирования для функции семейства printf при выполнении форматированного вывода UUID или GUID.

Параметры

Нет.

Значения макроса

Строка форматирования для функции семейства printf.

UUID_PRINT_PARAMS()

Назначение

Раскрывается в последовательность параметров функции семейства printf, которые соответствуют строке форматирования, полученной в результате раскрытия макроса UUID_PRINT_FMT при выполнении форматированного вывода UUID или GUID.

Параметры

  • [in] uuid – указатель на структуру с данными UUID или GUID. Тип структуры определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.

Значения макроса

Последовательность параметров функции семейства printf, которые соответствуют строке форматирования, полученной в результате раскрытия макроса UUID_PRINT_FMT.

UuidValidateString()

Назначение

Проверяет, является ли форматированная строка с данными UUID или GUID корректной (имеет соответствующий размер, правильное расположение дефисов и допустимые символы).

Параметры

  • [in] uuidStr – указатель на форматированную строку c данными UUID или GUID.

Возвращаемые значения

В случае успешной проверки возвращает rcOk, иначе возвращает rcInvalidArgument.

В начало