Funzione CryptGetOIDFunctionValue (wincrypt.h)
La funzione CryptGetOIDFunctionValue esegue una query su un valore associato a un OID. La query viene eseguita per un valore denominato specifico associato a un OID, al nome della funzione e al tipo di codifica. La funzione può restituire il tipo di valore sottoposto a query, il valore stesso o entrambi.
Sintassi
BOOL CryptGetOIDFunctionValue(
[in] DWORD dwEncodingType,
[in] LPCSTR pszFuncName,
[in] LPCSTR pszOID,
[in] LPCWSTR pwszValueName,
[out] DWORD *pdwValueType,
[out] BYTE *pbValueData,
[in, out] DWORD *pcbValueData
);
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
Puntatore alla stringa con terminazione null contenente il nome del set di funzioni OID.
[in] pszOID
Se la parola ad ordine elevato dell'OID è diverso da zero, pszOID è un puntatore a una stringa OID con terminazione null, ad esempio "2.5.29.1" o una stringa ASCII con terminazione null, 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] pwszValueName
Puntatore a una stringa Unicode con terminazione null contenente il nome del valore da eseguire una query.
[out] pdwValueType
Puntatore a una variabile per ricevere il tipo del valore. Il tipo restituito tramite questo parametro sarà uno dei seguenti.
Valore | Significato |
---|---|
|
Numero a 32 bit. |
|
Stringa Unicode che contiene riferimenti non scaduti alle variabili di ambiente, ad esempio "%PATH%". Le applicazioni devono assicurarsi che la stringa abbia un carattere Null terminante prima di usarlo. Per informazioni dettagliate su quando la stringa non ha un carattere null terminante, vedere RegQueryValueEx. |
|
Matrice di stringhe Unicode con terminazione null. Le applicazioni devono assicurarsi che la matrice venga terminata correttamente da due caratteri Null prima di usarla. Per informazioni dettagliate su quando la matrice non viene terminata da due caratteri Null, vedere RegQueryValueEx. |
|
Stringa Unicode. Le applicazioni devono assicurarsi che la stringa abbia un carattere Null terminante prima di usarlo. Per informazioni dettagliate su quando la stringa non ha un carattere null terminante, vedere RegQueryValueEx. |
Il parametro pdwValueType può essere NULL se un tipo restituito non è obbligatorio.
[out] pbValueData
Puntatore a un buffer per ricevere il valore associato al parametro pwszValueName . Il buffer deve essere abbastanza grande per contenere il carattere NULL terminante. Questo parametro può essere NULL se i dati restituiti non sono necessari.
Questo parametro può anche essere NULL per trovare le dimensioni del buffer a scopo di allocazione di memoria. Per altre informazioni, vedere Recupero dei dati di lunghezza sconosciuta.
[in, out] pcbValueData
Puntatore a una DWORD che specifica le dimensioni, in byte, del buffer a cui punta il pbValueData.
Nella maggior parte dei casi il valore restituito in *pcbValueData include le dimensioni del carattere NULL terminante nella stringa. Per informazioni sulle situazioni in cui il carattere NULL non è incluso, vedere la sezione Osservazioni di RegQueryValueEx.
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce non zero (TRUE).
Se la funzione ha esito negativo, restituisce zero (FALSE). Per informazioni sull'errore estese, chiamare GetLastError.
Questa funzione ha il codice di errore seguente.
Valore | Descrizione |
---|---|
|
Se il buffer specificato dal parametro pbValueData non è sufficiente per contenere i dati restituiti, la funzione imposta il codice ERROR_MORE_DATA e archivia le dimensioni del buffer necessarie, in byte, nella variabile puntata da pcbValueData. |
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 |