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

Vedi anche

CryptSetOIDFunctionValue

CryptUnregisterOIDFunction

Funzioni di supporto OID