Funzione CertCompareIntegerBlob (wincrypt.h)
La funzione CertCompareIntegerBlob confronta due BLOB integer per determinare se rappresentano valori numerici uguali.
Sintassi
BOOL CertCompareIntegerBlob(
[in] PCRYPT_INTEGER_BLOB pInt1,
[in] PCRYPT_INTEGER_BLOB pInt2
);
Parametri
[in] pInt1
Puntatore a una struttura CRYPT_INTEGER_BLOB che contiene il primo numero intero nel confronto.
[in] pInt2
Puntatore a una struttura CRYPT_INTEGER_BLOB che contiene il secondo numero intero nel confronto.
Valore restituito
Se le rappresentazioni dei BLOB integer sono identiche e la funzione ha esito positivo, la funzione restituisce un valore diverso da zero (TRUE).
Se la funzione non riesce, restituisce zero (FALSE). Per informazioni sugli errori estesi, chiamare GetLastError.
Commenti
Prima di eseguire il confronto, i byte più significativi con un valore di 0x00 vengono rimossi da un numero positivo. Positivo in questo caso significa che il bit più significativo nel byte diverso da zero successivo non è impostato.
I byte più significativi con un valore di 0xFF vengono rimossi da un numero negativo. In questo caso negativo significa che il bit più significativo nel successivo non 0xFF byte è impostato. In questo modo viene prodotta la rappresentazione univoca di tale intero, come illustrato nella tabella seguente.
Byte originali | Modulo ridotto |
---|---|
0xFFFFFF88 | 0xFF88 |
0xFF23 | 0xFF23 |
0x007F | 0x7f |
0x00000080 | 0x80 |
Gli interi a più byte vengono considerati come little-endian. Il byte meno significativo è pbData[0]. Il byte più significativo è pbData[cbData - 1], ovvero 0xFFFFFF88 viene archiviato in quattro byte come:
{0x88, 0xFF, 0xFF, 0xFF}
Esempio
Per un esempio che usa questa funzione, vedere Esempio di programma C: Uso di CertOIDToAlgId e CertCompareIntegerBlob.
Requisiti
Client minimo supportato | Windows XP [app desktop | App UWP] |
Server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | wincrypt.h |
Libreria | Crypt32.lib |
DLL | Crypt32.dll |