Funzione CertRetrieveLogoOrBiometricInfo (wincrypt.h)
La funzione CertRetrieveLogoOrBiometricInfo esegue un recupero URL di informazioni biometriche o logo specificate nell'estensione del certificato szOID_LOGOTYPE_EXT o szOID_BIOMETRIC_EXT . L'estensione szOID_BIOMETRIC_EXT (IETF RFC 3739) supporta l'aggiunta di una firma o una rappresentazione pictoriale del titolare del certificato. L'estensione szOID_LOGOTYPE_EXT (IETF RFC 3709) supporta l'aggiunta di rappresentazioni pictoriali organizzative nei certificati.
Sintassi
BOOL CertRetrieveLogoOrBiometricInfo(
[in] PCCERT_CONTEXT pCertContext,
[in] LPCSTR lpszLogoOrBiometricType,
[in] DWORD dwRetrievalFlags,
[in] DWORD dwTimeout,
[in] DWORD dwFlags,
void *pvReserved,
[out] BYTE **ppbData,
[out] DWORD *pcbData,
[out] LPWSTR *ppwszMimeType
);
Parametri
[in] pCertContext
Indirizzo di una struttura di CERT_CONTEXT che contiene il certificato.
[in] lpszLogoOrBiometricType
Indirizzo di una stringa ANSI con terminazione Null che contiene una stringa OID ( Object Identifier ) che identifica il tipo di informazioni da recuperare.
Questo parametro può anche contenere uno dei valori predefiniti seguenti.
[in] dwRetrievalFlags
Set di flag che specificano la modalità di recupero delle informazioni. Questo parametro viene passato come dwRetrievalFlags nella funzione CryptRetrieveObjectByUrl .
[in] dwTimeout
Quantità massima di tempo, in millisecondi, di attesa del recupero.
[in] dwFlags
Questo parametro non viene usato e deve essere zero.
pvReserved
Questo parametro non viene usato e deve essere NULL.
[out] ppbData
Indirizzo di un puntatore BYTE che riceve il tipo di logotipo o i dati biometrici. Questa memoria deve essere liberata quando non è più necessaria passando questo puntatore alla funzione CryptMemFree .
[out] pcbData
Indirizzo di una variabile DWORD che riceve il numero di byte nel buffer ppbData .
[out] ppwszMimeType
Indirizzo di un puntatore a una stringa Unicode con terminazione Null che riceve il tipo MIME (Multipurpose Internet Mail Extensions) dei dati. Questo parametro può essere NULL se queste informazioni non sono necessarie. Questa memoria deve essere liberata quando non è più necessaria passando questo puntatore alla funzione CryptMemFree .
Questo indirizzo riceve sempre NULL per i tipi biometrici. È sempre necessario assicurarsi che questo parametro contenga un indirizzo di memoria valido prima di tentare di accedere alla memoria.
Valore restituito
Restituisce un valore diverso da zero se ha esito positivo o zero in caso contrario.
Per informazioni sugli errori estesi, chiamare GetLastError. I codici di errore possibili restituiti dalla funzione GetLastError includono, a titolo esemplificativo, quanto segue.
Codice restituito | Descrizione |
---|---|
|
Il valore hash calcolato non corrisponde al valore hash nel certificato. |
|
Il certificato non contiene l'estensione szOID_LOGOTYPE_EXT o szOID_BIOMETRIC_EXT oppure lpszLogoOrBiometricType specificato non è stato trovato. |
|
Uno o più parametri non sono validi. |
|
Non è possibile recuperare dati dall'URL specificato dall'estensione del certificato. |
|
Il certificato non supporta l'estensione richiesta. |
|
L'OID dell'algoritmo hash è sconosciuto. |
Requisiti
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wincrypt.h |
Libreria | Crypt32.lib |
DLL | Crypt32.dll |