Funzione SCardIntroduceReaderA (winscard.h)
La funzione SCardIntroduceReader introduce un nuovo nome per una smart card esistentelettore.
Sintassi
LONG SCardIntroduceReaderA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szReaderName,
[in] LPCSTR szDeviceName
);
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] szReaderName
Nome visualizzato da assegnare al lettore.
[in] szDeviceName
Nome di sistema del lettore di smart card, ad esempio "MyReader 01".
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
Tutti i lettori installati nel sistema vengono introdotti automaticamente dal nome del sistema. In genere, SCardIntroduceReader viene chiamato solo per modificare il nome di un lettore esistente.
La funzione SCardIntroduceReader
Per rimuovere un lettore, usare SCardForgetReader.
Esempi
L'esempio seguente illustra l'introduzione di un lettore di smart card.
// This example renames the reader name.
// This is a two-step process (first add the new
// name, then forget the old name).
LPBYTE pbAttr = NULL;
DWORD cByte = SCARD_AUTOALLOCATE;
LONG lReturn;
// Step 1: Add the new reader name.
// The device name attribute is a necessary value.
// hCardHandle was set by a previous call to SCardConnect.
lReturn = SCardGetAttrib(hCardHandle,
SCARD_ATTR_DEVICE_SYSTEM_NAME,
(LPBYTE)&pbAttr,
&cByte);
if ( SCARD_S_SUCCESS != lReturn )
{
printf("Failed SCardGetAttrib\n");
exit(1); // Or other error action
}
// Add the reader name.
// hContext was set earlier by SCardEstablishContext.
lReturn = SCardIntroduceReader(hContext,
TEXT("My New Reader Name"),
(LPCTSTR)pbAttr );
if ( SCARD_S_SUCCESS != lReturn )
{
printf("Failed SCardIntroduceReader\n");
exit(1); // Or other error action
}
// Step 2: Forget the old reader name.
lReturn = SCardForgetReader(hContext,
(LPCTSTR)pbAttr );
if ( SCARD_S_SUCCESS != lReturn )
{
printf("Failed SCardForgetReader\n");
exit(1); // Or other error action
}
// Free the memory when done.
lReturn = SCardFreeMemory( hContext, pbAttr );
Nota
L'intestazione winscard.h definisce SCardIntroduceReader 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 che 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 |