Функция CertCompareIntegerBlob (wincrypt.h)
Функция CertCompareIntegerBlob сравнивает два целочисленных BLOB-объекта , чтобы определить, представляют ли они равные числовые значения.
Синтаксис
BOOL CertCompareIntegerBlob(
[in] PCRYPT_INTEGER_BLOB pInt1,
[in] PCRYPT_INTEGER_BLOB pInt2
);
Параметры
[in] pInt1
Указатель на структуру CRYPT_INTEGER_BLOB , содержащую первое целое число в сравнении.
[in] pInt2
Указатель на структуру CRYPT_INTEGER_BLOB , содержащую второе целое число в сравнении.
Возвращаемое значение
Если представления целочисленных BLOB-объектов идентичны и функция выполняется успешно, функция возвращает ненулевое значение (TRUE).
Если функция завершается сбоем, она возвращает ноль (FALSE). Чтобы получить дополнительные сведения об ошибке, вызовите Метод GetLastError.
Комментарии
Перед сравнением из положительного числа удаляются наиболее значительные байты со значением 0x00. Положительное значение здесь означает, что не задан самый значительный бит в следующем ненулевом байте.
Наиболее значительные байты со значением 0xFF удаляются из отрицательного числа. Отрицательный означает, что задан самый значительный бит в следующем не 0xFF байте. При этом создается уникальное представление этого целого числа, как показано в следующей таблице.
Исходные байты | Сокращенная форма |
---|---|
0xFFFFFF88 | 0xFF88 |
0xFF23 | 0xFF23 |
0x007F | 0x7F |
0x00000080 | 0x80 |
Многобайтовые целые числа рассматриваются как малобайтовые. Наименее значимый байт — pbData[0]. Наиболее значительным байтом является pbData[cbData - 1], то есть 0xFFFFFF88 хранится в четырех байтах в виде:
{0x88, 0xFF, 0xFF, 0xFF}
Примеры
Пример использования этой функции см. в разделе Пример программы C: использование CertOIDToAlgId и CertCompareIntegerBlob.
Требования
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |