Fonction CryptGetOIDFunctionValue (wincrypt.h)

La fonction CryptGetOIDFunctionValue interroge une valeur associée à un OID. La requête est effectuée pour une valeur nommée spécifique associée à un OID, un nom de fonction et un type d’encodage. La fonction peut retourner le type de valeur interrogée, la valeur elle-même ou les deux.

Syntaxe

BOOL CryptGetOIDFunctionValue(
  [in]      DWORD   dwEncodingType,
  [in]      LPCSTR  pszFuncName,
  [in]      LPCSTR  pszOID,
  [in]      LPCWSTR pwszValueName,
  [out]     DWORD   *pdwValueType,
  [out]     BYTE    *pbValueData,
  [in, out] DWORD   *pcbValueData
);

Paramètres

[in] dwEncodingType

Spécifie le type d’encodage à mettre en correspondance. Actuellement, seuls les X509_ASN_ENCODING et les PKCS_7_ASN_ENCODING sont utilisés; toutefois, des types d’encodage supplémentaires peuvent être ajoutés à l’avenir. Pour faire correspondre les deux types d’encodage actuels, utilisez X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.

[in] pszFuncName

Pointeur vers la chaîne terminée par null qui contient le nom du jeu de fonctions OID.

[in] pszOID

Si le mot d’ordre supérieur de l’OID est différent de zéro, pszOID est un pointeur vers une chaîne OID terminée par null telle que « 2.5.29.1 » ou une chaîne ASCII terminée par null comme « file ». Si le mot d’ordre supérieur de l’OID est égal à zéro, le mot d’ordre inférieur spécifie l’identificateur numérique à utiliser comme identificateur d’objet.

[in] pwszValueName

Pointeur vers une chaîne Unicode terminée par null qui contient le nom de la valeur à interroger.

[out] pdwValueType

Pointeur vers une variable pour recevoir le type de la valeur. Le type retourné par le biais de ce paramètre est l’un des suivants.

Valeur Signification
REG_DWORD
Nombre 32 bits.
REG_EXPAND_SZ
Chaîne Unicode qui contient des références non expirées à des variables d’environnement telles que « %PATH% ». Les applications doivent s’assurer que la chaîne a un caractère null de fin avant de l’utiliser. Pour plus d’informations sur les cas où la chaîne n’a pas de caractère null de fin, consultez RegQueryValueEx.
REG_MULTI_SZ
Tableau de chaînes Unicode terminées par un caractère Null. Les applications doivent s’assurer que le tableau est correctement terminé par deux caractères Null avant de l’utiliser. Pour plus d’informations sur le moment où le tableau n’est pas terminé par deux caractères Null, consultez RegQueryValueEx.
REG_SZ
Chaîne Unicode. Les applications doivent s’assurer que la chaîne a un caractère null de fin avant de l’utiliser. Pour plus d’informations sur les cas où la chaîne n’a pas de caractère null de fin, consultez RegQueryValueEx.
 

Le paramètre pdwValueType peut être NULL si un type retourné n’est pas requis.

[out] pbValueData

Pointeur vers une mémoire tampon pour recevoir la valeur associée au paramètre pwszValueName . La mémoire tampon doit être suffisamment grande pour contenir le caractère NULL de fin. Ce paramètre peut être NULL si les données retournées ne sont pas requises.

Ce paramètre peut également être NULL pour rechercher la taille de la mémoire tampon à des fins d’allocation de mémoire. Pour plus d’informations, consultez Récupération de données de longueur inconnue.

[in, out] pcbValueData

Pointeur vers un DWORD qui spécifie la taille, en octets, de la mémoire tampon pointée par pbValueData.

Dans la plupart des cas, la valeur retournée dans *pcbValueData inclut la taille du caractère NULL de fin dans la chaîne. Pour plus d’informations sur les situations où le caractère NULL n’est pas inclus, consultez la section Remarques de RegQueryValueEx.

Note Lors du traitement des données retournées dans la mémoire tampon, les applications doivent utiliser la taille réelle des données retournées. La taille réelle peut être légèrement inférieure à la taille de la mémoire tampon spécifiée lors de l’entrée. (Lors de l’entrée, les tailles de mémoire tampon sont généralement spécifiées suffisamment grandes pour garantir que les données de sortie les plus volumineuses possibles tiennent dans la mémoire tampon.) En sortie, la variable pointée par ce paramètre est mise à jour pour refléter la taille réelle des données copiées dans la mémoire tampon.
 

Valeur retournée

Si la fonction réussit, la fonction retourne une valeur différente de zéro (TRUE).

Si la fonction échoue, elle retourne zéro (FALSE). Pour obtenir des informations d’erreur étendues, appelez GetLastError.

Cette fonction contient le code d’erreur suivant.

Valeur Description
ERROR_MORE_DATA
Si la mémoire tampon spécifiée par le paramètre pbValueData n’est pas assez grande pour contenir les données retournées, la fonction définit le code ERROR_MORE_DATA et stocke la taille de mémoire tampon requise, en octets, dans la variable pointée par pcbValueData.

Configuration requise

   
Client minimal pris en charge Windows XP [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête wincrypt.h
Bibliothèque Crypt32.lib
DLL Crypt32.dll

Voir aussi

Fonctions de support OID