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 |
多字节整数被视为 little-endian。 最小有效字节为 pbData[0]。 最重要的字节是 pbData[cbData - 1],即0xFFFFFF88存储在四个字节中,如下所示:
{0x88、0xFF、0xFF、0xFF}
示例
有关使用此函数的示例,请参阅 示例 C 程序:使用 CertOIDToAlgId 和 CertCompareIntegerBlob。
要求
最低受支持的客户端 | Windows XP [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2003 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | wincrypt.h |
Library | Crypt32.lib |
DLL | Crypt32.dll |