Condividi tramite


Funzione CryptGetOIDFunctionAddress (wincrypt.h)

La funzione CryptGetOIDFunctionAddress cerca nell'elenco delle funzioni registrate e installate una corrispondenza di tipo di codifica e identificatore di oggetto (OID). Se viene trovata una corrispondenza, la DLL che contiene la funzione è, se necessario, caricata. Se viene trovata una corrispondenza, viene restituito anche un puntatore all'indirizzo della funzione e un puntatore all'handle di funzione. Il conteggio dei riferimenti sull'handle di funzione viene incrementato.

Sintassi

BOOL CryptGetOIDFunctionAddress(
  [in]  HCRYPTOIDFUNCSET  hFuncSet,
  [in]  DWORD             dwEncodingType,
  [in]  LPCSTR            pszOID,
  [in]  DWORD             dwFlags,
  [out] void              **ppvFuncAddr,
  [out] HCRYPTOIDFUNCADDR *phFuncAddr
);

Parametri

[in] hFuncSet

Handle del set di funzioni ottenuto in precedenza da una chiamata alla funzione CryptInitOIDFunctionSet .

[in] dwEncodingType

Specifica il tipo di codifica da associare. Attualmente vengono usati solo X509_ASN_ENCODING e PKCS_7_ASN_ENCODING; Tuttavia, è possibile aggiungere altri tipi di codifica in futuro. Per trovare le corrispondenze con entrambi i tipi di codifica correnti, usare:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

Per le funzioni che non usano un tipo di codifica, impostare questo parametro su zero.

[in] pszOID

Se la parola di ordine elevato dell'OID è diversa da zero, pszOID è un puntatore a una stringa OID, ad esempio "2.5.29.1" o una stringa ASCII , ad esempio "file". Se la parola di ordine elevato dell'OID è zero, la parola di ordine basso specifica l'identificatore numerico da utilizzare come identificatore dell'oggetto. Questo OID risultante esegue il mapping alla funzione installata o registrata con lo stesso OID.

[in] dwFlags

Questo parametro può essere il valore seguente.

Valore Significato
CRYPT_GET_INSTALLED_OID_FUNC_FLAG
Cerca solo l'elenco di funzioni installate.

[out] ppvFuncAddr

Puntatore a un puntatore a un indirizzo di funzione. Se viene trovata una corrispondenza, ppvFuncAddr punta all'indirizzo della funzione.

[out] phFuncAddr

Se viene trovata una corrispondenza, phFuncAddr punta all'handle della funzione. Il conteggio dei riferimenti per l'handle viene incrementato. Al termine dell'uso dell'handle, rilasciare l'handle chiamando la funzione CryptFreeOIDFunctionAddress .

Nota Per impostazione predefinita, vengono cercati sia gli elenchi di funzioni registrati che installati. Per cercare solo l'elenco di funzioni installate, impostare CRYPT_GET_INSTALLED_OID_FUNC_FLAG. Questo flag verrebbe impostato da una funzione registrata per ottenere l'indirizzo di una funzione preinstallata che stava sostituendo. Ad esempio, la funzione registrata potrebbe gestire un nuovo caso speciale e chiamare la funzione preinstallata per gestire i case rimanenti.
 

Valore restituito

Se la funzione ha esito positivo e viene trovata una corrispondenza, la funzione restituisce un valore diverso da zero (TRUE).

Se la funzione non riesce o non viene trovata alcuna corrispondenza, restituisce zero (FALSE). Per informazioni sugli errori estesi, chiamare GetLastError.

Commenti

È possibile chiamare CryptGetOIDFunctionAddress con l'argomento pszOID impostato su CMSG_DEFAULT_INSTALLABLE_FUNC_OID per ottenere la funzione installabile predefinita per le funzioni di callback seguenti.

Per il recupero delle funzioni predefinite, impostare dwEncodingType su una combinazione OR bit per bit dei tipi di codifica seguenti.

CRYPT_ASN_ENCODING X509_ASN_ENCODING

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

Vedi anche

Funzioni di supporto OID