Funzione SCardIntroduceCardTypeA (winscard.h)
La funzione SCardIntroduceCardType
Sintassi
LONG SCardIntroduceCardTypeA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szCardName,
[in, optional] LPCGUID pguidPrimaryProvider,
[in, optional] LPCGUID rgguidInterfaces,
[in] DWORD dwInterfaceCount,
[in] LPCBYTE pbAtr,
[in] LPCBYTE pbAtrMask,
[in] DWORD cbAtrLen
);
Parametri
[in] hContext
Handle che identifica il contesto di gestione risorse . Il contesto di Resource Manager viene impostato da una chiamata precedente a SCardEstablishContext. Questo parametro non può essere NULL.
[in] szCardName
Nome in base al quale l'utente può riconoscere la scheda.
[in, optional] pguidPrimaryProvider
Puntatore all'identificatore (GUID) della smart card provider di servizi primario.
[in, optional] rgguidInterfaces
Matrice di identificatori (GUID) che identificano le interfacce supportate dalla smart card.
[in] dwInterfaceCount
Numero di identificatori nella matrice rgguidInterfaces.
[in] pbAtr
stringa ATR che può essere usata per scopi corrispondenti durante l'esecuzione di query sul database di smart card. Per altre informazioni, vedere SCardListCards). La lunghezza di questa stringa è determinata dall'analisi ATR normale.
[in] pbAtrMask
Maschera di bit facoltativa da usare per confrontare gli ATR delle smart card forniti in pbAtr. Se questo valore non èNULL, deve puntare a una stringa di byte la stessa lunghezza della stringa ATR fornita in pbAtr. Quando una determinata stringa ATR Un viene confrontata con l'ATR fornito in pbAtr, corrisponde a se e solo se A & M = pbAtr, dove M è la maschera fornita e & rappresenta and bit per bit.
[in] cbAtrLen
Lunghezza della maschera ATR e facoltativa di ATR. Se questo valore è zero, la lunghezza di ATR viene determinata dall'analisi ATR normale. Questo valore non può essere zero se viene specificato un valore pbAtr
Valore restituito
Questa funzione restituisce valori diversi a seconda che abbia esito positivo o negativo.
Codice restituito | Descrizione |
---|---|
|
SCARD_S_SUCCESS. |
|
Codice di errore. Per altre informazioni, vedere valori restituiti della smart card. |
Osservazioni
Questa funzione non viene reindirizzata, ma la chiamata alla funzione quando all'interno di una sessione desktop remoto non verrà generato un errore. Significa solo che il risultato sarà dal computer remoto anziché dal computer locale.
La funzione SCardIntroduceCardType
Per rimuovere una smart card, usare SCardForgetCardType.
Esempi
Nell'esempio seguente viene illustrato come introdurre un tipo di scheda. Nell'esempio si presuppone che hContext sia un handle valido ottenuto da una chiamata precedente alla funzione SCardEstablishContext.
GUID MyGuid = { 0xABCDEF00,
0xABCD,
0xABCD,
0xAA, 0xBB, 0xCC, 0xDD,
0xAA, 0xBB, 0xCC, 0xDD };
static const BYTE MyATR[] = { 0xaa, 0xbb, 0xcc, 0x00, 0xdd };
static const BYTE MyATRMask[] = { 0xff, 0xff, 0xff, 0x00, 0xff};
LONG lReturn;
lReturn = SCardIntroduceCardType(hContext,
L"MyCardName",
&MyGuid,
NULL, // No interface array
0, // Interface count = 0
MyATR,
MyATRMask,
sizeof(MyATR));
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardIntroduceCardType\n");
Nota
L'intestazione winscard.h definisce SCardIntroduceCardType come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows XP [solo app desktop] |
server minimo supportato | Windows Server 2003 [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
winscard.h |
libreria |
Winscard.lib |
dll | Winscard.dll |