Share via


CERT_SELECT_STRUCT_A structure (cryptdlg.h)

La structure CERT_SELECT_STRUCT contient des critères sur lesquels sélectionner les certificats présentés dans une boîte de dialogue de sélection de certificat. Cette structure est utilisée dans la fonction CertSelectCertificate .

Syntaxe

typedef struct tagCSSA {
  DWORD           dwSize;
  HWND            hwndParent;
  HINSTANCE       hInstance;
  LPCSTR          pTemplateName;
  DWORD           dwFlags;
  LPCSTR          szTitle;
  DWORD           cCertStore;
  HCERTSTORE      *arrayCertStore;
  LPCSTR          szPurposeOid;
  DWORD           cCertContext;
  PCCERT_CONTEXT  *arrayCertContext;
  LPARAM          lCustData;
  PFNCMHOOKPROC   pfnHook;
  PFNCMFILTERPROC pfnFilter;
  LPCSTR          szHelpFileName;
  DWORD           dwHelpId;
  HCRYPTPROV      hprov;
} CERT_SELECT_STRUCT_A, *PCERT_SELECT_STRUCT_A;

Membres

dwSize

Taille, en octets, de cette structure.

hwndParent

Handle vers la fenêtre parente de toutes les boîtes de dialogue générées par CertSelectCertificate .

hInstance

Handle du module dont le fichier exécutable contient le modèle de boîte de dialogue.

pTemplateName

Si l’indicateur CSS_ENABLETEMPLATE est défini dans le membre dwFlags , définissez pTemplateName sur un pointeur vers un objet mémoire global qui contient le modèle utilisé par DialogBoxIndirectParam pour créer la boîte de dialogue. Un modèle de boîte de dialogue se compose d’un en-tête qui décrit la boîte de dialogue. L’en-tête est suivi d’un ou plusieurs blocs de données supplémentaires qui décrivent chacun des contrôles de la boîte de dialogue. Le modèle peut utiliser le format standard ou le format étendu.

Si l’indicateur CSS_ENABLETEMPLATEHANDLE est défini dans dwFlags, pTemplateName spécifie le modèle de boîte de dialogue. pTemplateName est le pointeur vers une chaîne de caractères terminée par null qui spécifie le nom du modèle de boîte de dialogue ou une valeur entière qui spécifie l’identificateur de ressource du modèle de boîte de dialogue. Si spécifie un identificateur de ressource, son mot d’ordre supérieur doit être égal à zéro et son mot d’ordre inférieur doit contenir l’identificateur. Une façon de créer cette valeur entière consiste à utiliser la macro MAKEINTRESOURCE .

dwFlags

Ce membre peut être une ou plusieurs des valeurs suivantes.

Valeur Signification
CSS_HIDE_PROPERTIES
Masquer le bouton Propriétés .
CSS_ENABLEHOOK
Passez une procédure de hook dans pfnHook.
CSS_ALLOWMULTISELECT
Activez la sélection multiple de certificats. Cette option n’est actuellement pas prise en charge et est ignorée.
CSS_SHOW_HELP
Afficher le bouton Aide .
CSS_ENABLETEMPLATE
Entraînez l’appel de la fonction CertSelectCertificate à la fonction DialogBoxIndirectParam pour créer une boîte de dialogue. Pour plus d’informations, consultez pTemplateName.
CSS_ENABLETEMPLATEHANDLE
Entraînez la fonction CertSelectCertificate à appeler la fonction DialogBoxParam pour créer une boîte de dialogue. Pour plus d’informations, consultez pTemplateName.

szTitle

Pointeur vers une chaîne qui contient le texte du titre de la boîte de dialogue.

cCertStore

Nombre d’éléments dans le tableau arrayCertStore .

arrayCertStore

Pointeur vers le tableau des magasins de certificats à partir duquel la boîte de dialogue énumère et affiche les certificats. Le membre cCertStore contient le nombre d’éléments dans ce tableau.

szPurposeOid

Pointeur vers une représentation sous forme de chaîne d’un identificateur d’objet (OID) pour une utilisation améliorée de la clé (EKU). Si un OID est fourni, seuls les certificats qui incluent cette référence EKU s’affichent.

cCertContext

Nombre d’éléments dans le tableau arrayCertContext . Une fois la fonction CertSelectCertificate retournée, ce membre contient le nombre de certificats sélectionnés par l’utilisateur. Actuellement, un seul certificat peut être sélectionné par l’utilisateur.

arrayCertContext

Pointeur vers un tableau de structures CERT_CONTEXT . Le membre cCertContext spécifie le nombre d’éléments dans ce tableau. Ce tableau doit contenir au moins un élément.

Les certificats représentés par ces structures sont sélectionnés lorsque la boîte de dialogue affichée par la fonction CertSelectCertificate est initialement affichée. Actuellement, seul le premier certificat de ce tableau est utilisé. Le premier certificat de ce tableau sera publié avec la fonction CertFreeCertificateContext si la fonction CertSelectCertificate réussit. Si le premier élément de ce tableau est NULL, aucun certificat n’est initialement sélectionné dans la boîte de dialogue.

Une fois la fonction CertSelectCertificate retournée, ce tableau contient les certificats qui ont été sélectionnés par l’utilisateur. Actuellement, un seul certificat peut être sélectionné par l’utilisateur.

lCustData

Pointeur vers un tableau de valeurs d’octets contenant des données personnalisées transmises à la procédure de filtre référencée par pfnFilter. Ces données personnalisées ne sont pas utilisées par la fonction CertSelectCertificate .

pfnHook

Pointeur de fonction PFNCMHOOKPROC vers la fonction de rappel Hook. Cette fonction est appelée avant que les messages ne soient traités par la boîte de dialogue. Pour plus d’informations, consultez Hooks.

pfnFilter

Pointeur de fonction PFNCMFILTERPROC vers la fonction de rappel de filtre. Cette opération est appelée pour déterminer les certificats qui seront affichés par la boîte de dialogue.

szHelpFileName

Pointeur vers une chaîne terminée par null qui contient le chemin d’accès complet au fichier d’aide.

dwHelpId

Identificateur de contexte de la rubrique. Pour plus d'informations, consultez la rubrique
WinHelp.

hprov

Handle pour le fournisseur de services de chiffrement (CSP) à utiliser pour la vérification du certificat.

Remarques

Notes

L’en-tête cryptdlg.h définit CERT_SELECT_STRUCT en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête cryptdlg.h

Voir aussi

CertSelectCertificate