Partager via


CertSelectionGetSerializedBlob, fonction (cryptuiapi.h)

La fonction CertSelectionGetSerializedBlob est une fonction d’assistance utilisée pour récupérer un blob de certificat sérialisé à partir d’une structure CERT_SELECTUI_INPUT .

Syntaxe

HRESULT CertSelectionGetSerializedBlob(
  [in]  PCERT_SELECTUI_INPUT pcsi,
  [out] void                 **ppOutBuffer,
  [out] ULONG                *pulOutBufferSize
);

Paramètres

[in] pcsi

Pointeur vers une structure CERT_SELECTUI_INPUT qui contient les informations de magasin de certificats et de chaîne de contexte de certificat.

[out] ppOutBuffer

Adresse d’un pointeur vers une mémoire tampon qui reçoit le blob de certificats sérialisés.

[out] pulOutBufferSize

Pointeur vers un ULONG pour recevoir la taille, en octets, de l’objet BLOB reçu dans la mémoire tampon pointée par le paramètre ppOutBuffer .

Valeur retournée

Si la fonction réussit, la fonction retourne S_OK.

Si la fonction échoue, elle retourne une valeur HRESULT qui indique l’erreur. Si les paramètres hStore et prgpChain ne sont pas NULL, retournez E_INVALIDARG. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.

Remarques

Le BLOB sérialisé retourné est transmis à la fonction CredUIPromptForWindowsCredentials dans le paramètre pvInAuthBuffer pour permettre à un utilisateur de sélectionner un certificat à l’aide de l’interface utilisateur de sélection d’informations d’identification.

Les certificats sérialisés dans l’objet BLOB retournés dans la mémoire tampon pointée par le paramètre ppOutBuffer de cette fonction dépendent des valeurs des membres hStore et prgpChain de la structure CERT_SELECTUI_INPUT .

hStore prgpChain Certificats sérialisés
NULL non NULL Les certificats pointés par le membre prgpChain sont sérialisés.
non NULL NULL Les certificats spécifiés par le membre hStore sont sérialisés.
NULL NULL Un objet BLOB vide est retourné.
non NULL non NULL L’appel échoue et la fonction retourne E_INVALIDARG.

Spécifications

Requirement Valeur
Client minimum requis Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
plateforme cible Fenêtres
Header cryptuiapi.h
Library cryptui.lib
DLL Cryptui.dll