structure OPENCARDNAME_EXA (winscard.h)
La structure OPENCARDNAME_EX contient les informations que la fonction SCardUIDlgSelectCard utilise pour initialiser une boîte de dialogue Sélectionner une carte intelligente carte.
Syntaxe
typedef struct {
DWORD dwStructSize;
SCARDCONTEXT hSCardContext;
HWND hwndOwner;
DWORD dwFlags;
LPCSTR lpstrTitle;
LPCSTR lpstrSearchDesc;
HICON hIcon;
POPENCARD_SEARCH_CRITERIAA pOpenCardSearchCriteria;
LPOCNCONNPROCA lpfnConnect;
LPVOID pvUserData;
DWORD dwShareMode;
DWORD dwPreferredProtocols;
LPSTR lpstrRdr;
DWORD nMaxRdr;
LPSTR lpstrCard;
DWORD nMaxCard;
DWORD dwActiveProtocol;
SCARDHANDLE hCardHandle;
} OPENCARDNAME_EXA, *POPENCARDNAME_EXA, *LPOPENCARDNAME_EXA;
Membres
dwStructSize
Longueur, en octets, de la structure. La valeur de ce membre ne doit pas être NULL.
hSCardContext
Contexte utilisé pour la communication avec le gestionnaire smart carteresource. Appelez SCardEstablishContext pour définir le contexte resource manager et SCardReleaseContext pour le libérer. La valeur de ce membre ne doit pas être NULL.
hwndOwner
Fenêtre qui possède la boîte de dialogue. Ce membre peut être n’importe quel handle de fenêtre valide, ou il peut être NULL pour le bureau par défaut.
dwFlags
Ensemble d’indicateurs de bits que vous pouvez utiliser pour initialiser la boîte de dialogue. Lorsque la boîte de dialogue retourne, elle définit ces indicateurs pour indiquer l’entrée de l’utilisateur. Ce membre peut être l’un des indicateurs suivants.
Valeur | Signification |
---|---|
|
Affichez la boîte de dialogue uniquement si le carte recherché par l’application appelante ne se trouve pas et peut être utilisé dans un lecteur. Cela permet de trouver le carte, de se connecter (via le mécanisme de boîte de dialogue interne ou les fonctions de rappel utilisateur) et de retourner à l’application appelante. |
|
Ne pas afficher l’interface utilisateursélectionner une carte, quel que soit le résultat de la recherche. |
|
Forcer l’affichage de l’interface utilisateur Sélectionner une carte , quel que soit le résultat de la recherche. |
lpstrTitle
Pointeur vers une chaîne à placer dans la barre de titre de la boîte de dialogue. Si ce membre a la valeur NULL, le système utilise le titre par défaut « Sélectionner la carte : ».
lpstrSearchDesc
Pointeur vers une chaîne à afficher pour l’utilisateur en tant qu’invite à insérer le carte intelligent. Si ce membre a la valeur NULL, le système utilise le texte par défaut « Veuillez insérer un carte intelligent ».
hIcon
Handle d’une icône (32 x 32 pixels). Vous pouvez spécifier une icône spécifique au fournisseur à afficher dans la boîte de dialogue. Si cette valeur a la valeur NULL, une icône générique, intelligente carte chargée du lecteur s’affiche.
pOpenCardSearchCriteria
Pointeur vers la structure OPENCARD_SEARCH_CRITERIA à utiliser, ou NULL, si elle n’est pas utilisée.
lpfnConnect
Pointeur vers la routine de connexion carte de l’appelant. Si l’appelant doit effectuer un traitement supplémentaire pour se connecter au carte, ce pointeur de fonction est défini sur la fonction de connexion de l’utilisateur. Si la fonction de connexion réussit, le carte reste connecté et initialisé, et le carte handle est retourné.
Le prototype de la routine de connexion est le suivant.
Connect(
hSCardContext, // the card context passed in the parameter block
szReader, // the name of the reader
mszCards, // multiple string that contains the possible
// card names in the reader
pvUserData // pointer to user data passed in parameter block
);
pvUserData
Pointeur void vers les données utilisateur. Ce pointeur est renvoyé à l’appelant sur la routine Connect.
dwShareMode
Si lpfnConnect n’a pas la valeur NULL, les membres dwShareMode et dwPreferredProtocols sont ignorés. Si lpfnConnect a la valeur NULL et que dwShareMode est différent de zéro, un appel interne est effectué à SCardConnect qui utilise dwShareMode et dwPreferredProtocols comme paramètres dwShareMode et dwPreferredProtocols . Si la connexion réussit, hCardHandle est défini sur le handle retourné par SCardConnect. Si lpfnConnect a la valeur NULL et que dwShareMode a la valeur zéro, hCardHandle a la valeur NULL.
dwPreferredProtocols
Utilisé pour la connexion interne comme décrit dans dwShareMode.
lpstrRdr
Si le carte se trouve, la mémoire tampon lpstrRdr contient le nom du lecteur qui contient le carte situé. La mémoire tampon doit comporter au moins 256 caractères.
nMaxRdr
Taille, en octets (version ANSI) ou en caractères (version Unicode ), de la mémoire tampon pointée vers lpstrRdr. Si la mémoire tampon est trop petite pour contenir les informations du lecteur, SCardUIDlgSelectCard retourne SCARD_E_NO_MEMORY et la taille requise de la mémoire tampon pointée vers lpstrRdr.
lpstrCard
Si le carte se trouve, la mémoire tampon lpstrCard contient le nom du carte situé. La mémoire tampon doit comporter au moins 256 caractères.
nMaxCard
Taille, en octets (version ANSI) ou en caractères (version Unicode ), de la mémoire tampon pointée vers lpstrCard. Si la mémoire tampon est trop petite pour contenir les informations carte, SCardUIDlgSelectCard retourne SCARD_E_NO_MEMORY et la taille requise de la mémoire tampon dans nMaxCard.
dwActiveProtocol
Protocole réel utilisé lorsque la boîte de dialogue établit une connexion à un carte.
hCardHandle
Handle du carte connecté (via une connexion de boîte de dialogue interne ou un rappel lpfnConnect).
Remarques
Notes
L’en-tête winscard.h définit OPENCARDNAME_EX comme un 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. Le mélange 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 | winscard.h |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour