Funzione CryptRegisterOIDFunction (wincrypt.h)
La funzione CryptRegisterOIDFunction registra una DLL che contiene la funzione da chiamare per il tipo di codifica, il nome della funzione e l'identificatore dell'oggetto (OID).
Per impostazione predefinita, alla fine dell'elenco vengono installati nuovi nomi di funzione. Per registrare una nuova funzione prima delle funzioni installate, chiamare la funzione CryptSetOIDFunctionValue con dwValueType impostata su REG_DWORD e pwszValueName impostata su CRYPT_OID_REG_FLAGS_VALUE_NAME.
CRYPT_OID_REG_FLAGS_VALUE_NAME è definito come L"CryptFlags".
Oltre alla registrazione di una DLL, è possibile eseguire l'override del nome della funzione da chiamare. Ad esempio, il parametro pszFuncName può essere impostato su CryptDllEncodeObject e il parametro pszOverrideFuncName su MyEncodeXyz. La nuova forma di CryptDllEncodeObject può quindi essere definita usando il nome MyEncodeXyz. Ciò consente a una DLL di esportare più funzioni OID per lo stesso nome di funzione senza dover interpose la propria funzione di dispatcher OID.
Sintassi
BOOL CryptRegisterOIDFunction(
[in] DWORD dwEncodingType,
[in] LPCSTR pszFuncName,
[in] LPCSTR pszOID,
[in] LPCWSTR pwszDll,
[in] LPCSTR pszOverrideFuncName
);
Parametri
[in] dwEncodingType
Specifica il tipo di codifica da corrispondere. Attualmente vengono usati solo X509_ASN_ENCODING e PKCS_7_ASN_ENCODING; Tuttavia, è possibile aggiungere altri tipi di codifica in futuro. Per corrispondere a entrambi i tipi di codifica correnti, usare:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.
[in] pszFuncName
Nome della funzione registrata.
[in] pszOID
OID della funzione da registrare. Se la parola ad ordine elevato dell'OID è diverso 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 ad ordine elevato dell'OID è zero, la parola a basso ordine specifica l'identificatore numerico da usare come identificatore dell'oggetto.
[in] pwszDll
Nome del file DLL da registrare. Può contenere stringhe variabili di ambiente da espandere usando la funzione ExpandEnvironmentStrings prima di caricare la DLL.
[in] pszOverrideFuncName
Stringa che specifica un nome per la funzione esportata nella DLL. Se pszOverrideFuncName è NULL, viene usato il nome della funzione specificato da pszFuncName .
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero (TRUE).
Se la funzione ha esito negativo, il valore restituito è zero (FALSE).
Commenti
Al termine dell'uso di una funzione OID, annullare la registrazione chiamando la funzione CryptUnregisterOIDFunction .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wincrypt.h |
Libreria | Crypt32.lib |
DLL | Crypt32.dll |