Funzione SCardSetCardTypeProviderNameA (winscard.h)

La funzione SCardSetCardTypeProviderName specifica il nome del modulo (libreria di collegamento dinamico) contenente il provider per un determinato nome di scheda e tipo di provider.

Sintassi

LONG SCardSetCardTypeProviderNameA(
  [in] SCARDCONTEXT hContext,
  [in] LPCSTR       szCardName,
  [in] DWORD        dwProviderId,
  [in] LPCSTR       szProvider
);

Parametri

[in] hContext

Handle che identifica il contesto di gestione risorse . Il contesto di Resource Manager può essere impostato da una chiamata precedente a SCardEstablishContext. Questo valore può essere null se la chiamata a SCardSetCardTypeProvider Name non viene indirizzata a un contesto specifico.

[in] szCardName

Nome del tipo di scheda a cui è associato il nome del provider .

[in] dwProviderId

Identificatore per il provider associato a questo tipo di scheda.

Valore Significato
SCARD_PROVIDER_PRIMARY
1
La funzione recupera il nome del provider di servizi primariodella smart card come stringa GUID.
SCARD_PROVIDER_CSP
2
La funzione recupera il nome del provider di servizi di crittografia (CSP).
SCARD_PROVIDER_KSP
3
La funzione recupera il nome della smart card provider di archiviazione chiavi (KSP).
SCARD_PROVIDER_CARD_MODULE
0x80000001
La funzione recupera il nome del modulo della scheda.

[in] szProvider

Stringa contenente il nome del provider che rappresenta il provider CSP.

Valore restituito

Questa funzione restituisce valori diversi a seconda che abbia esito positivo o negativo.

Codice restituito Descrizione
esito positivo
SCARD_S_SUCCESS.
errore
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.

Questa funzione imposta il nome del provider, mentre SCardGetCardTypeProviderName può essere usato per recuperare il nome del provider.

Esempi

Nell'esempio seguente viene illustrato come specificare il nome del provider del tipo di scheda.

LPTSTR            szNewProvName = _T("My Provider Name");
LPTSTR            szCardName = _T("WindowsCard");
LONG              lReturn = SCARD_S_SUCCESS;

// Set the card type provider name.
// hContext was set by SCardEstablishContext.
lReturn = SCardSetCardTypeProviderName(hContext,
                                      szCardName,
                                      SCARD_PROVIDER_CSP,
                                      szNewProvName);
if ( SCARD_S_SUCCESS != lReturn )
{
    printf("Failed SCardSetCardTypeProviderName - %x\n", lReturn);
    exit(1);
}

Nota

L'intestazione winscard.h definisce SCardSetCardTypeProviderName 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

Vedere anche

SCardGetCardTypeProviderName