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
REG_DWORD
Numero a 32 bit.
REG_EXPAND_SZ
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.
REG_MULTI_SZ
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.
REG_SZ
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.

Nota Quando si elaborano i dati restituiti nel buffer, le applicazioni devono usare le dimensioni effettive dei dati restituiti. Le dimensioni effettive possono essere leggermente inferiori rispetto alle dimensioni del buffer specificato nell'input. In base all'input, le dimensioni del buffer vengono in genere specificate abbastanza grandi per garantire che i dati di output più grandi siano adatti al buffer. Nell'output la variabile a cui punta questo parametro viene aggiornata per riflettere le dimensioni effettive dei dati copiati nel buffer.
 

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
ERROR_MORE_DATA
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

Vedi anche

Funzioni di supporto OID