Funzione SCardIntroduceCardTypeW (winscard.h)

La funzione SCardIntroduceCardType introduce una smart card al sottosistema smart card (per l'utente attivo) aggiungendolo al database smart card.

Sintassi

LONG SCardIntroduceCardTypeW(
  [in]           SCARDCONTEXT hContext,
  [in]           LPCWSTR      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 Resource Manager. 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) per il provider di servizi primario della smart card.

[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 quando si esegue una query sul database della smart card (per altre informazioni, vedere SCardListCards). La lunghezza di questa stringa è determinata dall'analisi di ATR normale.

[in] pbAtrMask

Maschera di bit facoltativa da usare quando si confrontano 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 stringa ATR specificata viene confrontata con ATR fornita inpbAtr, corrisponde 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 ATR. Se questo valore è zero, la lunghezza dell'ATR viene determinata dall'analisi di 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
Success
SCARD_S_SUCCESS.
Operazioni non riuscite
Codice di errore. Per altre informazioni, vedere Valori restituiti smart card.

Commenti

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 è una funzione di gestione del database. Per altre informazioni sulle altre funzioni di gestione del database, vedere Funzioni di gestione del database smart card.

Per rimuovere una smart card, usare SCardForgetCardType.

Esempio

Nell'esempio seguente viene illustrato come introdurre un tipo di scheda. L'esempio 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 preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winscard.h
Libreria Winscard.lib
DLL Winscard.dll

Vedi anche

SCardEstablishContext

SCardForgetCardType

SCardIntroduceReader

SCardIntroduceReaderGroup

SCardListCardCards